先确认终端能运行 zig version,再用 open -a "Sublime Text"(macOS)或配置系统 PATH(Windows)解决 PATH 不生效问题;禁用过时的 zig-mode,改用 SublimeLSP + zls 实现智能补全与跳转。

怎么确认 Zig 编译器已正确安装并被 Sublime 识别
Sublime 本身不运行 Zig,它只负责语法高亮、代码补全和调用 zig 命令。所以第一步不是装插件,而是确保终端里能直接执行 zig version,且返回类似 0.12.0 的结果。
常见卡点:
-
zig命令在终端可用,但在 Sublime 中执行构建时提示command not found: zig—— 这是因为 Sublime 启动时没加载 shell 的 PATH(尤其 macOS GUI 启动时) - Windows 用户把
zig.exe放在非系统路径,又没加进系统环境变量
解决办法:
- macOS:用
open -a "Sublime Text"从终端启动,继承当前 shell 环境 - Windows:重启 Sublime 前,确保已通过「系统属性 → 高级 → 环境变量」把 Zig 目录加进
PATH - 通用兜底:在 Sublime 的
Tools → Build System → New Build System…中手动指定zig路径,例如:{ "cmd": ["/opt/homebrew/bin/zig", "build", "--summary"], "file_regex": "^(.*):([0-9]+):([0-9]+): (error|warning): (.*)$", "selector": "source.zig" }zig-mode 插件是否还值得装
答案是:不推荐再装
zig-mode。原因很实际:
-
zig-mode是 Sublime Text 2/3 时代的老插件,最后更新在 2020 年,语法定义陈旧,不支持 Zig 0.10+ 的新关键字(如nosuspend、async)、新注释格式(///文档注释) - Sublime Text 4 内置了对
.zig文件的语法高亮支持(基于Packages/Zig/Zig.sublime-syntax),开箱即用,且持续随 Sublime 更新 - 真正需要的补全和跳转能力,靠
zls(Zig Language Server)更可靠,而zig-mode完全不支持 LSP
如果你已经装了
zig-mode,建议直接禁用或卸载,避免和内置语法冲突导致高亮错乱。怎么用 zls 实现真正的智能开发体验
这才是 Zig 在 Sublime 里该走的正路:用
zls提供语义级支持,再配合SublimeLSP插件桥接。操作步骤:
- 先装
zls:运行zig build -Drelease-fast -Denable-zls从源码编译,或下载预编译版(注意匹配 Zig 版本,比如 Zig 0.12.0 就要用zls对应 0.12.x 分支) - 装
SublimeLSP插件(Package Control 搜索安装即可) - 在 Sublime 中打开
Preferences → Package Settings → LSP → Settings,添加配置{ "clients": { "zls": { "command": ["path/to/zls"], "enabled": true, "languageId": "zig", "scopes": ["source.zig"], "syntaxes": ["Packages/Zig/Zig.sublime-syntax"] } } }其中path/to/zls必须替换成你本地的绝对路径,比如/usr/local/bin/zls或C:\\zig\\zls.exe
验证是否生效:打开一个
.zig文件,光标悬停函数上应显示签名,按F12能跳转到定义,重命名变量会自动改写所有引用。为什么 build system 经常报错“no build.zig found”
这是 Zig 项目结构决定的,不是 Sublime 配置问题。
Zig 的
zig build命令默认只认当前目录下的build.zig文件。如果只是打开单个.zig文件(比如main.zig),没有配套的build.zig,就会报这个错。两种应对方式:
- 临时编译单文件:用
zig run main.zig替代zig build,适合学习和快速验证 - 建立标准项目:在项目根目录运行
zig init-exe生成build.zig和src/main.zig,之后再用 Sublime 构建就一切正常
别试图在 build system 里硬编码
zig run—— 它不支持增量编译,也不触发zls的语义分析,长期开发会吃亏。 -










