VSCode运行Fortran需gfortran和python3均在PATH中,fortls必须手动pip安装并显式配置路径,否则语法高亮、跳转定义等功能失效;调试须用含-g的编译命令及launch.json配置GDB。

VSCode 本身不直接运行 Fortran 代码,必须依赖外部编译器(如 gfortran)和显式配置的构建/执行流程;没配好编译器路径或没加 -g 参数,就别指望调试能停住、变量能看清。
确认 gfortran 和 Python 都在系统 PATH 中
Modern Fortran 扩展不是“装完就能用”的黑盒——它靠 gfortran 做语法检查和编译,靠 python3 启动 fortls 提供跳转和补全。任一缺失,编辑器里连高亮都可能不稳。
- 终端执行
gfortran --version和python3 --version,两者都必须输出版本号 - Windows 用户尤其注意:
gfortran.exe所在目录(比如C:mingw64in)要手动加进系统环境变量PATH;GUI 启动的 VSCode 不继承命令行的临时 PATH - macOS/Linux 用户若用
pyenv或多 Python 版本,确保python3指向那个能跑pip install fortls的版本,别用系统自带的/usr/bin/python3
fortls 必须手动安装并显式指定路径
扩展界面里点“自动安装 fortls”大概率静默失败,且不报错。你看到 “Language Server Starting…” 卡住,基本就是这一步断了。
- 终端运行:
pip install fortls(Linux/macOS)或pip install --user fortls(Windows 权限受限时) - 验证是否装好:
fortls --version应输出类似fortls 2.4.1;若提示 command not found,说明可执行文件路径没进 PATH(Linux/macOS 查~/.local/bin,Windows 查%APPDATA%PythonPython3xScripts) - 在 VSCode 设置中强制指定路径,比依赖 “auto” 可靠得多:
"fortran.fortls.path": "/home/you/.local/bin/fortls"(Linux/macOS)"fortran.fortls.path": "C:\Users\You\AppData\Roaming\Python\Python311\Scripts\fortls.exe"(Windows)
运行代码不能只靠 Code Runner,默认不带调试信息
Code Runner 插件默认用 gfortran -o $fileNameWithoutExt $fileName 编译,不加 -g,GDB 就看不到源码行和变量名——设了断点也白搭。
- 要么改 Code Runner 配置(在
settings.json里加):"code-runner.executorMap": {"fortran": "gfortran -g -o $fileNameWithoutExt $fileName && ./$fileNameWithoutExt"} - 要么更推荐:用 VSCode 内置终端手动编译运行,控制更明确:
gfortran -g -Wall hello_world.f90 -o hello_world./hello_world - 调试必须另配
.vscode/launch.json,类型选cppdbg,program指向带-g编译出的可执行文件,否则调试器连入口都找不到
最容易被忽略的是:gfortran 和 python3 的 PATH 是两个独立关卡,缺一不可;而 fortls 路径不显式写死,就等于把语言服务器功能“半阉割”——跳转定义、补全、错误定位都会打折扣。别信“自动检测”,亲手验证才是唯一可靠动作。


















