Sublime Text 不支持内置形式化验证,但可配置为高效编写 TLA+ 或 Dafny 规格的编辑器:TLA+ 依赖 Toolbox 验证,Sublime 提供语法高亮与编辑支持;Dafny 通过 CLI 和自定义 Build System 实现一键验证与错误跳转。

Sublime Text 本身不支持形式化验证,它只是一个轻量级代码编辑器,没有内置的 TLA+ 或 Dafny 验证引擎。但你可以把它作为编写 TLA+(用 TLA+ Toolbox 配套)或 Dafny(需搭配 Dafny CLI)规范的高效编辑器——关键在于配置好语法高亮、自动补全和一键调用验证器。
TLA+:在 Sublime 中高效写规格,靠 Toolbox 验证
TLA+ 的核心验证工具是官方的 TLA+ Toolbox(基于 Eclipse),它提供模型检查(TLC)、定理证明(TLAPS)等完整功能。Sublime 只负责“写得舒服”:
- 安装 Package Control 后搜索安装 TLA+ 插件(如 sublime-tla-plus),获得语法高亮、括号匹配、基础缩进支持
- 把 .tla 文件用 Sublime 编辑,保存后切换到 Toolbox 手动点击 “Model Check…” —— 不支持从 Sublime 直接触发 TLC,这是设计使然
- 若想命令行集成,可写个 shell 脚本调用
tla2tools.jar,再用 Sublime 的 Build System 绑定(但错误跳转有限,不如 Toolbox 原生体验)
Dafny:Sublime + CLI 实现轻量验证流
Dafny 是微软开发的验证就绪语言,编译即验证,适合算法与协议逻辑。Sublime 可以很好地配合其命令行工具:
- 安装 Dafny CLI(推荐用
dotnet tool install -g dafny),确保终端中运行dafny /help正常 - 在 Sublime 中安装 Dafny 插件(如 Dafny-Sublime),支持语法高亮、注释快捷键、基本自动补全
- 配置 Sublime 的 Build System(Tools → Build System → New Build System):
{ "cmd": ["dafny", "$file"], "selector": "source.dafny", "file_regex": "^(.*?):([0-9]+):([0-9]+):" }保存为Dafny.sublime-build,之后按Ctrl+B(Win/Linux)或Cmd+B(macOS)即可运行验证,错误行可直接跳转
为什么别强求 Sublime “内置验证”?
形式化验证不是语法检查,它依赖复杂的状态空间展开(TLA+)或 SMT 求解(Dafny)。这些需要专用运行时、内存管理、反例可视化等能力——Sublime 的插件 API 不开放底层进程控制与结果结构化解析,硬塞进去反而不稳定。
- 真正提升效率的方式,是让 Sublime 专注“写清楚”,把验证交给专业工具(Toolbox / Dafny CLI / VS Code + Dafny 插件)
- 如果追求一体化体验,VS Code + TLA+ 或 Dafny 官方扩展是更现代的选择;Sublime 适合习惯极简、对热重载/快速启动有强需求的验证者
- 小技巧:用 Sublime 的 Side Bar → Projects → Save Project As… 管理多个 TLA+ 模型或 Dafny 模块,配合多光标改名、正则批量注释,能显著加快迭代节奏
基本上就这些。Sublime 不是验证引擎,但配好了,就是你写形式化规格最顺手的纸和笔。










