gosublime已停更,应改用terminus插件运行go代码、lsp+gopls实现补全跳转,并确保项目含go.mod文件以支持模块模式。

GoSublime 不再维护,别再折腾配置了
GoSublime 从 2020 年起就停止更新,最新版只支持到 Go 1.15,用在当前主流 Go(1.19+)上会频繁报 undefined: reflect.Value.IsNil 或 plugin was built with a different version of package 这类错误。它依赖的 gocode、guru 等工具早已被官方 gopls 取代,硬配只会浪费时间。
Sublime Text 跑 Go 代码:用 Terminal 插件最稳
Sublime 本身不编译也不运行 Go,所谓“运行”只是调起系统终端执行 go run 或 go build。推荐装 Terminus 插件(不是 Terminal 那个老插件),它支持在 Sublime 内嵌终端里直接操作:
- 安装后按
Ctrl+Shift+P→ 输入Terminus: Open Default Shell in Panel呼出底部终端 - 进到项目目录后,手动敲
go run main.go,输出实时可见 - 想一键运行?建个简单的 Build System:
{ "shell_cmd": "go run ${file}", "file_regex": "^[ ]*([^ ]*):([0-9]+):([0-9]+):(.*)$", "working_dir": "${file_path}", "selector": "source.go" }保存为GoRun.sublime-build放进Packages/User/,之后按Ctrl+B就能跑当前文件
代码补全和跳转:必须换 gopls
GoSublime 的补全早就不兼容新 Go 版本,现在唯一靠谱的是官方语言服务器 gopls。Sublime 要用它,得装 sublimesyntax + LSP 插件:
-
LSP插件启用后,在Preferences → Package Settings → LSP → Settings里加配置"clients": { "gopls": { "command": ["gopls"], "enabled": true, "initializationOptions": { "usePlaceholders": true }, "settings": { "gopls": { "build.experimentalWorkspaceModule": true } } } } - 确保已全局安装
gopls:go install golang.org/x/tools/gopls@latest,装完检查which gopls能否找到 - 重启 Sublime,打开一个
.go文件,状态栏左下角出现gopls表示连上了;Ctrl+Click能跳转,Ctrl+Space补全也正常
容易被忽略的坑:GOPATH 和 go mod 混用
很多人配了半天没补全,最后发现是项目没在 $GOPATH/src 下,又没开 go mod——gopls 默认按模块模式工作,没 go.mod 文件时行为不稳定:
立即学习“go语言免费学习笔记(深入)”;
- 新项目务必先在根目录执行
go mod init example.com/foo,生成go.mod - 不要把项目放在
$GOPATH/src下还手动删go.mod,gopls会退化成 GOPATH 模式,补全不准、跨包识别失败 - 如果用 vendor,记得
go mod vendor后在 LSP 设置里加"vendor": true,否则补全看不到 vendor 里的符号
真正卡住的往往不是插件怎么装,而是 go.mod 存不存在、gopls 找没找到它。其他都好调,这一步漏了,整个语言服务就半残。










