Sublime Text需配置构建系统并安装GNAT编译器才能运行Ada程序,其优势为轻量高效,但缺乏集成调试等完整IDE功能,适用于小型项目,大型开发推荐使用GNAT Studio或VS Code。
Sublime Text本身并不能直接“运行”Ada程序,因为它本质上是一个高度可配置的文本编辑器,而不是一个自带编译器和运行环境的集成开发环境(IDE)。它需要我们手动配置一个“构建系统”(Build System),告诉它如何调用外部的Ada编译器(比如GNAT)来编译和运行代码。这就像你给一个万能工具箱配上特定的工具和说明书,它才能完成特定的任务。
要让Sublime Text能够愉快地与Ada程序打交道,核心就是两件事:安装Ada编译器,以及在Sublime Text里设置一个自定义的构建系统。
第一步:安装GNAT Ada编译器
GNAT(GNU Ada Toolchain)是目前最常用也最成熟的Ada编译器。没有它,Sublime Text再怎么配置也无米下锅。
gnatmake命令。如果你喜欢更原生的环境,也可以考虑通过MSYS2或MinGW-w64来安装GNAT,但那会稍微复杂一些。
brew install gnat-gpl。Homebrew会帮你处理好依赖和路径问题,省去了不少麻烦。
sudo apt update && sudo apt install gnat。在基于RPM的系统(如Fedora)上,用
sudo dnf install gnat。如果你的发行版没有,或者你想用最新版本,可以从AdaCore下载源码编译,但这通常是高级玩家的选择。
安装完成后,打开终端或命令提示符,输入
gnatmake --version。如果能显示版本信息,说明GNAT已经安装成功并能在系统路径中找到。
第二步:配置Sublime Text
安装好编译器后,我们得教Sublime Text怎么用它。
安装Ada语法高亮包: 打开Sublime Text,如果你还没安装Package Control,先装上。然后按
Ctrl+Shift+P(macOS:
Cmd+Shift+P),输入
Install Package,回车。接着搜索
Ada,选择一个合适的Ada语言支持包(比如 "Ada" 或 "Ada Language Support")安装。这会让你的Ada代码看起来更漂亮,有正确的语法高亮。
创建自定义构建系统: 这是最关键的一步。
Tools->
Build System->
New Build System...。
untitled.sublime-build的新文件。把下面的JSON配置粘贴进去:
{
"cmd": ["gnatmake", "-gnatp", "$file", "-o", "${file_base_name}.exe", "&&", "${file_base_name}.exe"],
"file_regex": "^(.*):([0-9]+):([0-9]+): (.*)$",
"selector": "source.ada",
"working_dir": "$file_path",
"shell": true,
"variants": [
{
"name": "Build Only",
"cmd": ["gnatmake", "-gnatp", "$file", "-o", "${file_base_name}.exe"],
"shell": true
}
]
}Ada.sublime-build。
这段配置的含义:
"cmd":这是Sublime Text要执行的命令。
gnatmake -gnatp $file -o ${file_base_name}.exe:调用GNAT编译器编译当前文件($file),
-gnatp允许不严格遵守Ada编程规范(有时候方便快速测试),
-o指定输出的可执行文件名为源文件去掉扩展名后的名字(
${file_base_name}.exe)。&& ${file_base_name}.exe:这是一个逻辑与操作符。如果编译成功(前一个命令返回0),就运行生成的可执行文件。"file_regex":这是一个正则表达式,用来解析编译器输出的错误信息,让Sublime Text能直接跳转到错误行。
"selector":告诉Sublime Text这个构建系统适用于哪些文件类型。
source.ada就是Ada文件的语法范围。
"working_dir":设置命令的执行目录为当前文件所在的目录。这避免了路径问题。
"shell": true:表示命令会在系统的shell中执行,这样
&&这样的操作符才能生效。
"variants":提供了一个额外的选项,只编译不运行。当你只想检查语法错误时会很有用。
选择并使用构建系统:
hello.adb)。
Tools->
Build System,选择你刚刚保存的
Ada。
Ctrl+B(macOS:
Cmd+B) 来编译并运行你的Ada程序了。如果一切顺利,输出会显示在Sublime Text底部的面板中。如果你只想编译,可
以按 Ctrl+Shift+B(macOS:
Cmd+Shift+B),然后选择 "Ada - Build Only"。
说实话,我个人觉得Sublime Text在Ada开发中,算是个“能用但不够完美”的选择。它的优势在于轻量级、启动快,而且高度可定制。对于那些习惯了用纯文本编辑器写代码,不希望被IDE的各种复杂功能打扰的开发者来说,Sublime Text简直是福音。语法高亮、多光标编辑、强大的查找替换功能,这些都让代码编写变得非常高效。通过自定义构建系统,我们也能实现基本的编译和运行,这对于一些小项目或者快速原型开发来说,完全够用。它的跨平台特性也意味着你可以在Windows、macOS和Linux上获得一致的开发体验。
然而,它的局限性也同样明显。Sublime Text终究不是一个专门为Ada设计的IDE。它缺乏集成调试器,这意味着你无法像在GNAT Studio那样直接在编辑器里设置断点、单步调试。虽然可以通过一些插件或者外部工具(比如GDB)进行调试,但那需要额外的配置和切换,远不如IDE来得顺畅。更高级的代码补全、重构工具、项目管理功能,这些也是Sublime Text的短板。对于大型Ada项目,或者需要频繁进行复杂调试的场景,你可能会发现Sublime Text力不从心。它更像是一个精美的“代码书写台”,而不是一个全功能的“开发工厂”。
安装GNAT编译器,这其实是个老生常谈的问题,但对于初学者来说,确实可能有点摸不着头脑。我曾经也为此头疼过,尤其是在Windows上配置环境变量,那感觉就像是在和系统玩捉迷藏。
Windows: 我最推荐的是直接从AdaCore的官方网站下载GNAT GPL版本。通常会有一个
.exe安装包,双击运行,跟着安装向导走就行。在安装过程中,它会问你是否要把GNAT的bin目录添加到系统PATH环境变量中,务必勾选此选项。如果安装时忘了勾选,或者后续需要手动添加,你可以在“系统属性”->“高级”->“环境变量”中找到“Path”变量,然后编辑它,把GNAT安装目录下的
bin文件夹路径(例如
C:\Program Files\GNAT\2025\bin)添加进去。添加完后,最好重启一下命令行窗口,确保环境变量生效。
macOS: 在macOS上,Homebrew简直是神器。如果你还没有安装Homebrew,先去它的官网(
brew.sh)复制那行命令安装。安装好Homebrew后,打开终端,简单输入
brew install gnat-gpl。Homebrew会自动下载、编译(如果需要)并安装GNAT,同时也会帮你处理好路径问题,基本上是“一劳永逸”的解决方案。
Linux: Linux用户通常是最幸福的,因为大多数主流发行版都在其官方软件仓库中提供了GNAT。
sudo apt update更新包列表,然后
sudo apt install gnat即可。
sudo dnf install gnat(Fedora)或
sudo yum install gnat(旧版CentOS/RHEL)。
sudo pacman -S gnat。 如果你的发行版没有预编译的包,或者你需要特定版本的GNAT,可以从AdaCore下载源码包,然后按照其提供的
README或
INSTALL文件进行编译安装。这通常涉及
./configure、
make和
sudo make install等步骤,但对于大多数用户来说,使用发行版提供的包就足够了。
无论哪种方式,安装完成后,都强烈建议在命令行输入
gnatmake -v或
gnatmake --version来验证GNAT是否正确安装并且可以被系统找到。这是确保Sublime Text能顺利调用它的基础。
当我们谈到Ada开发工具,Sublime Text确实只是冰山一角。对于更严肃、更大型的Ada项目,或者当你需要更全面的开发支持时,市场上还有一些更专业、功能更强大的选择。
GNAT Studio (GPS): 这无疑是Ada开发者的“官方”IDE。由AdaCore(GNAT编译器的开发者)开发和维护,GNAT Studio与GNAT编译器深度集成,提供了非常强大的功能。它拥有集成的调试器(基于GDB,但做了很好的封装)、智能代码补全、重构工具、项目管理、图形化界面来配置编译器选项、版本控制集成等等。GPS尤其擅长处理大型Ada项目,其对Ada语言规范的理解和支持是其他通用IDE难以比拟的。坦白讲,如果你是Ada新手,或者正在进行一个复杂的项目,GNAT Studio是我的首选推荐,尽管它的界面可能看起来有点“老派”,但功能绝对是顶级的。
Visual Studio Code (VS Code): VS Code是近年来非常流行的轻量级但功能强大的代码编辑器。它通过丰富的扩展生态系统,可以支持几乎所有主流编程语言。对于Ada,你可以安装一些社区开发的Ada语言扩展(例如 "Ada Language Support" 或 "Ada Development Environment")。这些扩展通常能提供语法高亮、基本的代码补全、Go-to-Definition等功能。结合VS Code强大的任务运行器(Task Runner)和调试器集成,你可以配置VS Code来调用GNAT进行编译和运行,甚至通过GDB扩展进行调试。VS Code的优势在于其现代化的界面和活跃的社区,对于习惯了VS Code工作流的开发者来说,它是一个非常不错的选择,提供了一种介于纯文本编辑器和全功能IDE之间的平衡。
Emacs/Vim: 对于那些“硬核”的Unix/Linux开发者,或者说,那些对文本编辑器有极高定制需求的开发者,Emacs和Vim依然是强大的选择。通过安装Ada模式(
ada-modefor Emacs,
vim-adafor Vim),它们可以提供语法高亮、代码折叠、基本的代码导航等功能。配合各自强大的插件生态和Shell集成,开发者可以非常高效地调用GNAT编译器、运行脚本甚至集成调试器。当然,这需要一定的学习曲线和配置时间,但一旦掌握,效率会非常高。
CLion: JetBrains出品的CLion是一款非常优秀的C/C++ IDE,以其智能的代码分析、重构和强大的调试功能而闻名。虽然原生不支持Ada,但JetBrains的IDE通常都有很强的扩展性。如果社区有开发出成熟的Ada插件,CLion也可能成为一个不错的选择。目前我了解到的Ada插件可能还不够成熟,但未来随着Ada社区的发展,这并非不可能。
选择哪个工具,很大程度上取决于你的个人偏好、项目需求以及你对开发环境的熟悉程度。如果你只是想快速写一些Ada代码,Sublime Text配合GNAT完全够用;如果需要深入开发和调试,GNAT Studio会是更专业的选择;而VS Code则提供了一个现代且灵活的折衷方案。