vscode 配置多modules的golang项目

vscode 配置多modules的golang项目,第1张

这里写自定义目录标题 起因解决方案

起因

尝试用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中写入如上内容,最终效果就很完美了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/994503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存