php小编西瓜今天要为大家介绍一种方法,让你在VSCode上获得类似GoLand的完美多模块支持,而无需额外的工作。VSCode是一个非常受欢迎的开发工具,而GoLand则是一款专为Go语言开发设计的IDE。对于使用VSCode进行Go语言开发的开发者来说,如果能够拥有GoLand的多模块支持,将极大地提升开发效率。那么,如何实现这一目标呢?接下来,我们将为您一一解答。
问题内容
当我在 GoLand (Jetbrains) 中打开多模块项目时,它的工作效果非常好,实现、类型声明和其他有用的 IDE 功能开箱即用,运行良好。
但是当我在 VSCode 中打开同一个项目时,我无法让智能感知工作(使用 gopls
),它不起作用,并且需要使用 go work
对模块结构进行重大更改,(所以这不是我的选择) p>
是因为 GoLand 使用不同的语言服务器吗?
我尝试尝试 Go 扩展设置,但没有带来任何好处。我能够禁用语言服务器将所有内容变成红色,但这不是解决方案
解决方法
go 工作区 是工具包的一部分,应该适用于任何支持该功能的 ide 。我每天都在 vs code 上使用它。
所以基本上你需要在项目根目录中有一个 go.work
文件,vs code 会解释它。示例:
go 1.20
use (
.
./mymodule1
./mymodule2
)
不同之处在于 goland 自动添加多模块设置中的模块,我不知道 vs code 具有此功能。
当您创建 go.work 文件时,goland 会自动添加项目中的所有模块。
如果你检查 go 的 .gitignore 你会看到默认情况下会忽略 go.work
文件,因此我假设您没有对其进行版本控制。我通常评论该行,以便 vs code 跟踪它并将其纳入我的提交中。
# Go workspace file
go.work
要将新模块添加到 go.work
,只需执行 go 工作,使用新模块根目录中的 .
即可。
有时我必须重新加载 vs code 才能同步它,但通常它会立即起作用。
如果您仍然遇到问题,那么可能值得尝试 对扩展进行故障排除。
以上就是如何在 VSCode 上获得 GoLand 的完美多模块支持(无需工作)的详细内容,更多请关注编程网其它相关文章!