When I open my multi module project in GoLand (Jetbrains) it works amazingly, with Implementations, Type Declarations and other useful IDE features working fine out of the box.
But when I open that same project in VSCode, I cannot get intellisense to work (with gopls
) it does not work and requires severe changes to the module structure with go work
, (so it's not an option for me)
Is it because GoLand is using a different language server?
I tried experimenting with the Go extension settings which did not result in any benefit. I was able to disable the language server from turning everything red, but it is not a solution
go workspaces are part of the toolkit and should work on any IDE that supports the feature. I've been using it on VS Code on a daily basis.
So basically you need a
go.work
file in the project root and VS Code will interpret it. Example:The difference is that GoLand automatically adds the modules in a multi-module setup, and I'm not aware of VS Code having this capability.
If you check Go's .gitignore you'll see that the
go.work
file is ignored by default, so I would assume that you don't have it versioned. I usually comment that line so that VS Code keeps track of it and it goes into my commits.To add new modules to
go.work
simply dogo work use .
from a new module root.Sometimes I have to reload VS Code to sync it, but usually it works right away.
If you're still having issues, then probably it is worth trying troubleshooting the extension.