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 才能同步它,但通常它會立即起作用。
如果您仍然遇到問題,那么可能值得嘗試 對擴展進行故障排除。