右下角显示Plain Text说明语法未绑定,需先手动选择Zig语法、重启Sublime,再执行Open all with current extension as…绑定扩展名;同时需确保安装Zig Language插件(非废弃zig-mode)、配置绝对路径的zig编译器和zls语言服务器,并严格匹配source.zig scope。

右下角显示 Plain Text?先手动绑定语法再重启
这不是插件没装,是 Sublime 根本没把 .zig 后缀和语法 scope 关联上。状态栏右下角显示 Plain Text 就是铁证——所有高亮、补全、构建都停摆。
操作顺序不能错:
- 打开任意
.zig文件,点击右下角Plain Text→ 选Zig(不是ZigLang或zig-mode);如果菜单里压根没这个选项,说明插件没生效或被禁用 - 确认已通过 Package Control 安装
Zig Language(作者 mitchellh),不是废弃的zig-mode(最后更新于 2020 年,会覆盖内置语法) - 安装后必须重启 Sublime Text:部分语法包带自定义
scope,不重启不注册 - 重启后,再次点击右下角 →
Open all with current extension as…→ 选Zig,这步才真正写入扩展名绑定
Ctrl+B 报 “command not found: zig”?PATH 不继承,得硬编码路径
Sublime 启动时不会继承 shell 的 PATH,尤其 macOS 用 Dock 打开、Windows 没配系统环境变量时,终端能跑 zig version,构建却找不到命令。
别依赖系统 PATH,直接写死绝对路径:
- macOS:打开
Preferences → Browse Packages → User,新建Zig.sublime-build,内容为:{ "cmd": ["/opt/homebrew/bin/zig", "run", "$file"], "selector": "source.zig", "working_dir": "$file_path" } - Windows:路径写成
"cmd": ["C:/zig/zig.exe", "run", "$file"],注意斜杠方向和盘符大小写 -
"selector": "source.zig"必须存在且严格匹配——这是 Zig 官方语法包定义的 scope,不是source.ziglang或其他变体
zls 启动失败,“No definition found”?它不是插件,是独立进程
zls 提供跳转、补全、@compileLog 输出等语义能力,但它不是插件,是单独运行的二进制进程。启动失败非常隐蔽,错误常藏在控制台(Ctrl+`)里。
关键配置点:
- LSP 插件(如
sublimelsp)的LSP.sublime-settings中,"command"字段必须是完整绝对路径,例如"/opt/zig/zls",不能只写"zls" - 确保
zls版本与 Zig 编译器严格对应:Zig 0.14.x 必须用 zls 0.14.x 分支编译,否则报exec format error - 首次打开项目时 zls 扫描依赖树卡住 3–5 秒正常;超 10 秒无响应,看控制台是否报
connection refused——大概率是路径错或进程根本没起来
为什么 @import 跳转不了、comptime 补全失效?语法高亮只是起点
光有语法高亮,@compileLog 不输出、comptime 字段不补全、@import 无法跳转、内存布局分析也做不了。真正起作用的是三件套:zig 编译器 + zls 语言服务器 + 正确绑定的构建系统,缺一不可。
最容易被忽略的细节:
-
zls启动后要读取项目根目录下的build.zig或zig-cache,如果项目结构不标准(比如没build.zig也没zig build命令触发缓存),zls 会降级为仅基础解析 - Sublime 的
source.zigscope 必须由官方语法包提供,第三方包若用错 scope 名(如source.ziglang),LSP 插件就收不到请求 - macOS 下用 Dock 启动 Sublime 会导致 zls 连不上 zig ——必须用终端执行
open -a "Sublime Text"启动,否则 PATH 和动态库路径都不对


















