GoSublime已停止维护,不建议新项目使用;其依赖GOPATH而无法兼容go.mod模块化项目,导致gopls缺失、补全失效、Ctrl+B静默失败等问题。
GoSublime 已基本停止维护,不建议新项目使用;它在 Go 1.21+ 和模块化项目中容易报、补全失效、静默失败等问题——根源是它仍强依赖,而现代 Go 默认走。
为什么 GoSublime 在 Sublime 里点 Ctrl+B 没反应
不是快捷键坏了,也不是插件没装上,而是 GoSublime 尝试用旧逻辑找
下的包,但你的项目根目录有
,
输出非空,此时
已被 Go 工具链忽略。GoSublime 却还在那儿等
,一卡就静默退出。
验证方式:终端进项目目录,执行
;若输出路径(如
),说明已启用 module 模式
删掉
(macOS/Linux)或对应 Windows 路径,避免干扰
别改
里的
—— 这只会让问题更隐蔽
想用 gopls 补全和跳转,但提示
Sublime 的 LSP 插件(比如
)默认不走 shell 的
,哪怕你在终端能跑通
,Sublime 也找不到它。
先手动安装:
(注意不是
)
再查真实路径:
,输出类似
在
或
中显式写死路径:
,不能只写
确保项目根目录存在
,否则
启动后会卡在 “starting…” 状态
怎么让 Ctrl+B 真正运行
别指望插件自动猜对工作目录。Go 模块要求
必须在含
的目录下执行,否则报
。
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
立即学习
“
go语言免费学习笔记(深入)
”;
菜单 →
贴入以下内容并保存为
:
是关键:强制命令在文件所在目录运行,而不是 Sublime 当前打开的 project root
如果仍报
,就在该 build 文件里加一行:
(macOS)或
(Windows),填你本地
的结果
真正麻烦的从来不是“怎么配”,而是 Sublime 不继承 shell 环境、GoSublime 固守 GOPATH、gopls 启动依赖 go.mod 存在——这三个点只要漏掉一个,补全就断、构建就哑、跳转就飘红。动手前先
和
两行命令,比翻十篇教程都管用。
gopls not foundgo buildGOPATHgo.modGOPATH/srcgo.modgo env GOMODGOPATH$GOPATHgo env GOMOD/path/to/project/go.mod~/.config/sublime-text-3/Packages/GoSublimeGoSublime.sublime-settings"env": {"GOPATH": "...", "GOROOT": "..."}command not found: goplsLSP-GoPATHgopls versiongo install golang.org/x/tools/gopls@latestgo getgo list -f '{{.Target}}' golang.org/x/tools/gopls/home/you/go/bin/goplsLSP.sublime-settingsLSP-Go.sublime-settings"command": ["/home/you/go/bin/gopls"]"gopls"go.modgoplsgo run main.gogo rungo.modno required module provides packageTools → Build System → New Build SystemGo.sublime-build
{
"cmd": ["go", "run", "${file}"],
"file_regex": "^(.*?):([0-9]+):([0-9]+):(?:\s+(error|warning):\s+)?(.*)$",
"working_dir": "${file_path}",
"selector": "source.go",
"variants": [
{
"name": "Build",
"cmd": ["go", "build", "-o", "${file_base_name}", "${file}"]
}
]
}
"working_dir": "${file_path}"command not found: go"path": "/usr/local/go/bin:/opt/homebrew/bin""path": "C:\Go\bin"which gogo env GOMODwhich go