sublime text需安装官方fortran语法包并手动设置语法,配置专用build system匹配gfortran错误格式,再通过lsp-fortran+fortls实现补全与跳转;关键步骤包括后缀绑定、正则捕获错误行号、激活构建系统及正确配置include路径。

Fortran 语法高亮和基础支持怎么开
Sublime Text 默认不识别 .f90 或 .f 文件,打开就是纯文本。得先装语言包——但别搜“Fortran 插件”,搜 Fortran 官方语法包(Package Control 里叫 Fortran,作者是 sublimelsp 团队维护的)。装完后,打开一个 .f90 文件,右下角手动选 Fortran;或者用快捷键 Ctrl+Shift+P → 输入 Set Syntax: Fortran 一次性绑定后缀。
常见错误现象:.f90 文件里 program、end program 不变色,缩进乱,关键词没提示——基本就是语法包没装或没激活。
- 别装那些带“Modern Fortran”“Auto-Compile”的第三方包,它们常和 LSP 冲突
-
.f(固定格式)文件需要额外设置:在View → Syntax → Open all with current extension as… → Fortran Fixed Format - 如果用了
lsp-fortran,必须关掉旧版Fortran包,否则高亮会错乱
怎么让 Sublime 调用 gfortran 编译并看到错误行号
靠 Build System。不能只写 gfortran main.f90,那样出错时 Sublime 不知道哪行错了。得用 shell_cmd 配正则匹配错误输出,让双击错误跳转到对应行。
新建 Tools → Build System → New Build System,贴入:
{
"shell_cmd": "gfortran -Wall -Wextra -J./ -c $file_name && gfortran -o ${file_base_name} $file_name",
"file_regex": "^(..[^:]*):([0-9]+):([0-9]+):? ?(.*)$",
"working_dir": "$file_path",
"selector": "source.fortran"
}
保存为 Fortran.sublime-build。注意几个关键点:
-
-Wall -Wextra必加,不然很多隐式声明错误不报 -
$file_name是带后缀的,${file_base_name}是不带后缀的,用于生成可执行名 -
file_regex必须匹配gfortran的默认报错格式,比如main.f90:12:5: Error: Unclassifiable statement - Windows 用户若用 MinGW-w64,确保
gfortran在系统 PATH 里,否则要写绝对路径,如"C:\msys64\ucrt64\bin\gfortran.exe"
为什么改了代码按 Ctrl+B 没反应,或者报 “No build system”
Build System 没激活。Sublime 不会自动为 .f90 关联你刚建的 Fortran.sublime-build,得手动指定。
本书图文并茂,详细讲解了使用LAMP(PHP)脚本语言开发动态Web程序的方法,如架设WAMP平台,安装与配置开源Moodle平台,PHP程序设计技术,开发用户注册与验证模块,架设LAMP平台。 本书适合计算机及其相关专业本、专科学生作为学习LAMP(PHP)程序设计或动态Web编程的教材使用,也适合对动态Web编程感兴趣的读者自觉使用,对LAMP(PHP)程序设计人员也具有一定的参考价值。
操作路径:Tools → Build System → Fortran(你保存的文件名,不含 .sublime-build 后缀)。之后再按 Ctrl+B 才会调用它。
容易踩的坑:
- 文件没保存就编译:Sublime 的
$file变量只指向已保存文件,未保存的临时文件会编译失败 - build 文件放在错误目录:必须存在
Packages/User/下,放错位置(比如直接丢进Packages/根目录)会导致不显示在菜单里 - Mac 上用 Homebrew 装的 gfortran,路径可能不是
/usr/bin/gfortran,而是/opt/homebrew/bin/gfortran,需检查which gfortran
想补全函数、跳转定义、实时检查怎么办
单靠 Build System 做不到。得上 lsp-fortran + fortls,这是目前 Sublime 上唯一靠谱的 Fortran LSP 方案。
步骤很简单但依赖链长:
- 先用 pip 装
fortls:pip install fortls(推荐用虚拟环境,避免和系统 Python 冲突) - 再装 Sublime 插件:
Package Control → lsp-fortran(不是LSP主包,是专门适配 Fortran 的子包) - 重启 Sublime,打开
.f90文件,状态栏右下角出现LSP: fortls表示连上了
注意:fortls 对 include 和模块路径敏感,如果项目有 mod_*.f90,要在项目根目录建 .fortls.json,写清楚 "includePaths",否则跳转定义会失败。
最后提醒一句:Fortran 的模块依赖解析比 Python/C++ 更脆弱,use 语句路径写错一格、大小写不对、或者 .mod 文件没生成,LSP 就会静默失效——这时候看 Sublime 控制台(Ctrl+`)里有没有 fortls 报错,比猜强得多。









