需手动绑定 .adb/.ads 到 ada 语法并配置 gnat 构建系统:右下角选 ada 或通过 view → syntax → open all with current extension as… 永久绑定;新建 ada.sublime-build 文件,内容含 gnat make 命令及 selector 为 source.ada。

装完 Ada 插件后文件仍是纯文本,不是插件失效,而是 .adb 和 .ads 文件没绑定到 Ada 语法;编译失败报 No build system found,和语法高亮无关,是 GNAT 构建系统没配。
如何让 .adb/.ads 文件自动高亮
Sublime 不会自动把 Ada 源文件和 Ada 语法关联,即使 Ada Language Support 插件已安装。它只提供语法定义,不注册文件扩展名。
- 临时方案:打开任意
.adb文件 → 点右下角当前语法名(如Plain Text)→ 选Ada - 永久绑定:菜单
View → Syntax → Open all with current extension as… → Ada,对.adb和.ads各执行一次 - 验证是否生效:新建空白文件 → 保存为
test.adb→ 查看右下角是否显示Ada,且关键字(如procedure、begin)有颜色
为什么 Ctrl+B 编译报 No build system found
这个错误说明 Sublime 找不到可用的构建系统,不是语法配置问题,也不是 GNAT 没装好——而是你还没告诉 Sublime “用什么命令编译 Ada”。
- 先确认 GNAT 可用:终端运行
gnat --version,无输出需先装gcc-ada或libregeode - 新建构建系统:菜单
Tools → Build System → New Build System,粘贴以下内容:
{
"cmd": ["gnat", "make", "$file_base_name"],
"file_regex": "^(..[^:]*):([0-9]+):([0-9]+):? (.*)$",
"working_dir": "$file_path",
"selector": "source.ada"
}
- 保存为
Ada.sublime-build(必须放Packages/User/目录),再在Tools → Build System中选它 -
selector值必须是source.ada,否则 Sublime 不会在 Ada 文件里自动启用该构建系统
高亮当前行但看不到?优先检查这三点
加了 "highlight_line": true 却没反应,90% 是因为视觉层被覆盖或定义缺失,不是设置写错。
- 配色方案没定义
lineHighlight:打开Preferences → Color Scheme记下当前主题名,用PackageResourceViewer打开对应.sublime-color-scheme,搜索lineHighlight;若无结果,需手动在rules数组末尾加:
{"name": "Current Line", "scope": "region.line", "background": "hsla(210, 10%, 85%, 0.2)"}
- UI 主题干扰:某些 UI 主题(如
Adaptive)会重绘 gutter 区域,压住行背景;临时切换成Monokai验证 - 插件冲突:
BracketHighlighter或Origami类插件可能劫持渲染;禁用后测试
Ada 开发中容易被忽略的细节
Sublime 对 Ada 没有语义分析能力,所有补全是基于词典的静态匹配;gnatchop、gnatpp 这类工具需手动集成进构建流程或外部命令调用,不会自动触发。如果你依赖自动格式化或切分包体,得自己写 shell 脚本封装并配置为额外构建项。











