Sublime Text安装并配置Fortran科学计算环境

秋静酱_4327

秋静酱_4327

2026-10-13

728人浏览

原创

fortran语法高亮完全不生效,是因为sublime未加载fortran语法定义;必须通过package control安装官方fortran包(作者sublimelsp),打开.f90文件后手动选fortran > fortranfreeform,并确认preferences → package settings → fortran存在,否则右下角始终显示“plain text”。

sublime text安装并配置fortran科学计算环境

Fortran语法高亮完全不生效?先确认是否真装对了包

打开 main.f90,右下角显示“Plain Text”,program 不变色、end do 没提示、缩进全乱——这不是主题或插件冲突,是 Sublime 根本没加载 Fortran 语法定义。

  • 必须通过 Package Control: Install Package 安装官方 Fortran 包(作者 sublimelsp),别搜 “Modern Fortran” 或 “Auto-Compile”,那些和 LSP 冲突概率高
  • 装完后,打开任意 .f90 文件 → 点右下角 “Plain Text” → 选 Fortran > FortranFreeForm;.f 文件则选 Fortran > FortranFixedForm
  • 如果菜单里压根没有 Fortran 选项:按 Ctrl+Shift+P 输入 Reload Syntax Definitions 刷新;仍无效就检查 Preferences → Package Settings → Fortran 是否存在
  • 想一劳永逸?设置完语法后,再执行 View → Syntax → Open all with current extension as…,选 FortranFreeForm,这样所有 .f90 文件下次自动匹配

Ctrl+B 按下没反应?构建系统没激活或 selector 错了

按下 Ctrl+B 状态栏一闪就消失、没输出、没报错、也没生成可执行文件——大概率是构建系统没激活,或 selector 和当前文件语法不匹配。

Sublime Text Build Linux版
Sublime Text Build Linux版

Sublime Text Linux x86-64 deb 安装包。官方也提供 rpm、tar.xz 和软件源安装方式。

下载
  • 新建构建系统:Tools → Build System → New Build System,贴入以下内容并保存为 Fortran.sublime-build:
{
  "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"
}
  • selector 必须是 source.fortran——这和你右下角选的 FortranFreeForm 对应,不是 source.f90 或其他任意字符串
  • 保存后务必手动切换到它:Tools → Build System → Fortran(别留成 “Automatic”)
  • 确认终端中 gfortran --version 能正常运行;Windows 用户若用 MinGW-w64,建议把 ucrt64\bin 加进系统环境变量,而不是在 shell_cmd 里硬写绝对路径
  • 为什么能高亮但关键字颜色不对?配色方案没覆盖 Fortran scope

    语法高亮开了,但 program、integer 还是灰色,注释也不绿——不是语法包问题,是当前配色方案没定义 keyword.control.fortran 或 comment.fortran 这类 scope。

    • 按 Ctrl+Shift+P 输入 Inspect Scope,将光标停在 program 或 ! 上,看输出的 scope 链,例如 keyword.control.fortran
    • 打开当前配色方案文件:Preferences → Color Scheme 查名称,再用 PackageResourceViewer: Open Resource 找到对应 .sublime-color-scheme
    • 在 "rules" 数组末尾添加规则,例如:
      {"scope":"keyword.control.fortran","foreground":"#FF8C00"}
    • 保存后重新选一遍当前配色方案才能生效(Sublime Text 4 可实时预览,ST3 建议重启)

    用 Intel Visual Fortran 或其他编译器?别硬写路径,靠环境变量驱动

    如果你装的是 Intel Visual Fortran 2019 而不是 gfortran,shell_cmd 里直接写绝对路径极易失效——IVF 的环境依赖 ipsxe-comp-vars.bat 初始化,硬编码路径会跳过这步。

    • Windows 下推荐做法:新建一个批处理文件(如 build_ivf.bat),内容为:
      @echo off
      call "E:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.4.245\windows\bin\ipsxe-comp-vars.bat" intel64 vs2017
      gfortran %1 -o %~n1.exe
    • 然后在 Fortran.sublime-build 中改用:"shell_cmd": "build_ivf.bat \"$file\""
    • 更稳妥的方式是把 IVF 的 bin 目录加进系统 PATH,并确保 ipsxe-comp-vars.bat 已被调用(可通过命令行先运行一次验证)
    • Linux/macOS 用户若用 ifort,同样不要写死路径,确保 ifort --version 在终端可用,再在 shell_cmd 中直接调用
    Fortran 在 Sublime Text 里从来不是开箱即用的,核心卡点永远在三处:语法识别(source.fortran)、构建激活(手动切 Build System)、环境可达(gfortran 或 ifort 必须全局可调用)。任何一步漏掉,都会表现为“看起来像配置好了,但实际什么都没发生”。

    相关文章

    PHP速学视频免费教程(入门到精通)
    PHP速学视频免费教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    PixTV官网入口地址合集
    PixTV官网入口地址合集

    本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

    2026.10.10

    40

    15

    Kratos框架HTTP与gRPC服务开发教程
    Kratos框架HTTP与gRPC服务开发教程

    本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

    2026.10.10

    20

    15

    Kratos框架Protobuf接口定义与代码生成合集
    Kratos框架Protobuf接口定义与代码生成合集

    本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

    2026.10.10

    0

    15

    C++虚函数怎么定义和调用
    C++虚函数怎么定义和调用

    C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

    2026.10.10

    20

    26

    C++类与对象的封装方法教程
    C++类与对象的封装方法教程

    C++封装是面向对象编程的核心特性之一,通过类将数据与操作数据的函数组织在一起,并利用访问权限控制外部访问。本专题介绍类的定义、成员变量、成员函数以及public、private和protected的使用方法,帮助初学者掌握封装的基本原理。

    2026.10.10

    20

    32

    C++构造函数定义与调用方法
    C++构造函数定义与调用方法

    C++构造函数用于初始化类对象,是面向对象编程的重要基础。本专题从构造函数的定义、声明和调用入手,介绍默认构造函数、带参数构造函数、拷贝构造函数及成员初始化列表,帮助初学者掌握对象创建与初始化的基本方法。

    2026.10.10

    20

    16

    Kratos框架零基础入门教程
    Kratos框架零基础入门教程

    本专题整理Kratos框架入门内容,涵盖Go环境准备、kratos CLI安装升级、new命令创建项目、目录结构分层说明、服务启动与双协议端口、依赖下载报错排查,帮助开发者快速跑通第一个Kratos框架微服务应用。

    2026.10.10

    20

    15

    C++条件判断语句怎么写
    C++条件判断语句怎么写

    C++条件判断是控制程序执行流程的重要基础。本专题介绍if、if-else、else if和switch等常见分支语句,结合条件表达式、比较运算符与代码示例,帮助初学者掌握不同场景下的判断逻辑。

    2026.10.10

    0

    13

    C++变量怎么声明和赋值
    C++变量怎么声明和赋值

    C++变量是编写程序和存储数据的基础。本专题围绕变量声明、定义、初始化、赋值和类型选择等内容展开,帮助初学者理解不同变量的用法,并掌握在实际代码中定义和使用变量的方法。

    2026.10.10

    20

    20

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程