尝试用vscode来做golang开发,使用了go mod方式来管理各个包,发现vscode并不好用,F12
无法跳转到,提示找不到定义,并且在右下角也会有来自Go
扩展的错误提示通知:
Error loading workspace: You are working in a nested module. Please open it as a separate workspace folder. Learn more: https://github.com/golang/tools/blob/master/gopls/doc/workspace.md.
解决方案
按照这个错误提示,咱们来解决问题,无外乎就是创建一个工作区,将所有的module
(有go.mod
文件出现的目录)都以单独的目录加入到工作区中。
// project.code-workspace
{
"folders": [
{
"name": "mod-blue",
"path": "./blue"
},
{
"name": "mod-yellow",
"path": "./yellow"
},
{
"name": "mod-pink",
"path": "./pink"
}
]
}
如上就完成了,符号跳转都正常了。
问题:非module
目录下的文件不显示了所以得把
.
目录也加进去,folders
中加上:
{
"name": "project",
"path": "."
}
这样就所有文件都可以显示出来了。
问题:module
中的文件会重复列出,显得很杂乱要解决这个问题,需要让除了
project
工作区中project
这个目录外其他都不显示, *** 作如下:
// ./blue/.vscode/settings.json
// ./yellow/.vscode/settings.json
// ./pink/.vscode/settings.json
{
"files.exclude": {
"*": true
}
}
在每个module
目录中增加.vscod
目录,并在.vscod/settings.json
中写入如上内容,最终效果就很完美了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)