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

VSCode 本身不直接运行 Fortran 代码,必须依赖外部编译器(如 gfortran)和显式配置执行流程;没配好 fortls 或 gfortran 路径,连语法高亮都会失效,更别说运行。
确认 gfortran 和 python3 都在系统 PATH 中
Modern Fortran 扩展不是独立运行的——它靠 gfortran 做语法检查和编译,靠 python3 启动 fortls 提供跳转、补全等核心功能。两者缺一不可。
- 终端里分别执行
gfortran --version和python3 --version,必须都能输出版本号 - Windows 用户注意:MinGW-w64 安装后,
gfortran.exe所在目录(如C:\mingw64\bin)必须手动加进系统环境变量PATH;否则 VSCode GUI 启动时找不到命令 - macOS 用户若用
pyenv管理 Python 版本,确保python3指向的是能运行pip install fortls的那个版本,别用系统自带的/usr/bin/python3(通常没pip)
fortls 必须手动安装并显式指定路径
扩展说“自动安装 fortls”,但实测在 Linux/macOS 非 root 环境、Windows WSL、甚至部分 macOS Homebrew 场景下,会静默失败且不报错。
- 务必在终端手动运行:
pip install fortls(权限不足就用pip install --user fortls) - 安装后验证:
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"
运行代码不能只靠 Code Runner 插件
Code Runner 默认用 gfortran -o $fileNameWithoutExt $fileName 编译,不带 -g,生成的可执行文件没有调试信息——这意味着后续没法用 GDB 断点调试,变量名、源码行全丢失。
- 如果只是想快速运行,建议在终端手动执行:
gfortran -g -Wall hello_world.f90 -o hello_world && ./hello_world - 如需一键运行,可自定义
tasks.json,明确加入-g和-Wall参数 - 调试必须配
launch.json,且program字段指向带-g编译出的二进制,否则 Ctrl+F5 会启动失败或断点无效
Fortran 文件识别失败?检查后缀和大小写
扩展默认识别 .f90、.f、.F90、.F 等后缀,但大小写敏感规则容易被忽略:
-
.f90(小写 f)→ 自由格式,被正确识别 -
.F90(大写 F)→ 预处理文件,需额外配置fortran.preprocessor.enabled才能启用宏展开 - 若文件是
.for或.ftn,需在settings.json中补充:"files.associations": {"*.for": "fortran"} - 新建文件未保存时,VSCode 不知道语言类型,务必先保存为
.f90后缀再写代码
最容易被忽略的其实是 gfortran 和 python3 的 PATH 可见性差异:终端能跑 ≠ VSCode GUI 能跑。每次配置完,关掉所有 VSCode 实例,从终端启动一次 code .,才能确保环境变量完全继承。











