gfortran和python3必须在系统path中且vscode内置终端能识别,fortls需手动安装并配置绝对路径,code runner须添加-g编译选项,调试依赖cpptools扩展及cppdbg配置。

gfortran 必须在系统 PATH 中,且 python3 可用;否则 VSCode 里连语法高亮都会失效,更别说运行或调试。
确认编译器和 Python 路径是否真正生效
VSCode GUI 启动时**不继承终端临时设置的 PATH**,所以即使你在终端里能跑 gfortran --version 和 python3 --version,VSCode 仍可能找不到它们。
- Windows:检查
gfortran.exe所在目录(如C:\msys64\mingw64\bin)是否已加入**系统环境变量 PATH**,而非仅当前 CMD 的临时 PATH - macOS/Linux:若用
pyenv,运行which python3确认返回的是你装fortls的那个 Python,不是/usr/bin/python3(它通常没pip) - 验证方式:在 VSCode 内置终端(Terminal → New Terminal)中直接执行两个命令,都必须输出版本号
fortls 必须手动安装并显式配置路径
Modern Fortran 扩展界面点“自动安装 fortls”大概率静默失败——状态栏卡在 “Fortran LS 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/fortls,Windows 查%APPDATA%\Python\Python311\Scripts\fortls.exe - 在
.vscode/settings.json中强制写死路径:"fortran.fortls.path": "/home/you/.local/bin/fortls"(别信 auto)
运行代码不能只靠 Code Runner 默认配置
Code Runner 插件默认用 gfortran -o $fileNameWithoutExt $fileName 编译,不带 -g,生成的二进制没有调试信息——后续断点、变量监视全失效。
- 快速验证运行:在 VSCode 内置终端手动执行:
gfortran -g -Wall hello.f90 -o hello && ./hello - 如需一键运行,改
settings.json中的code-runner.executorMap:"fortran": "gfortran -g -Wall $fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt" - 注意:.F90(大写 F)是预处理文件,需开启
fortran.preprocessor.enabled才能正确解析#include等指令
调试必须配 launch.json 且依赖 C/C++ 扩展
Modern Fortran 扩展自己不提供调试器,它复用 VSCode 的 cppdbg 类型,靠 GDB 驱动——这意味着你必须装 Microsoft 官方的 ms-vscode.cpptools 扩展。
- 项目根目录建
.vscode/launch.json,type字段只能填cppdbg(不是fortran,该类型不存在) -
program字段必须指向**用-g编译出的可执行文件**,例如"${workspaceFolder}/hello" - 若调试启动失败或断点灰色,先检查
gfortran -g是否真生成了带调试符号的二进制(可用file hello或readelf -S hello | grep debug验证)
gfortran 路径、python3 环境、fortls 可执行路径——任意一环松动,语言服务器就掉线,跳转定义失效,甚至 outline 面板空白。别跳过终端验证这一步。











