Hacker News new | ask | show | jobs
by marcrosoft 2312 days ago
I love Go. It’s too bad that go modules broke ide support and godocs. I miss the simplicity of gopath.

Edit:

Go modules were not welcomed and godep was supposed to be the official dep manager: https://twitter.com/_rsc/status/1022588289461743617

Godoc is broken because of it and Rob Pike doesn't like it: https://github.com/golang/go/issues/26827#issuecomment-51584...

VScode with gomodules is still bad even with gopls restarting every 20m: https://github.com/Microsoft/vscode-go/wiki/Go-modules-suppo...

5 comments

Lol there is nothing simple about gopath.
I constantly see this sentiment and don't get it. It's perfectly fine in GoLand, and has been for the year I've been using it. What's broken for you?
VScode:

* Function renames * Function references across packages * imports on save

Some of this can be fixed by restarting gopls (experimental) ever 20m: https://github.com/Microsoft/vscode-go/wiki/Go-modules-suppo...

Are you using an old version of gopls?

From the v0.3.0 release notes[1]:

Workspace-scoped references, rename, and go to implementation. These features use your workspace root as the search scope, so behavior will vary based on the directory you open in your editor

[1] https://github.com/golang/go/issues/33030#issuecomment-51015...

Yup, v0.3.0 here (gopls version) and still broken.
If you haven't already, it sounds like it would probably be worth your time to open an issue. If things like workspace-scoped references and renaming aren't working for you when they are working for other people, perhaps you have a non-standard setting, or perhaps there is a need to adjust how you open vscode, or perhaps you are hitting bug(s). My experience has been the people working on gopls are very responsive.
VS Code is a text editor not an IDE, right? That's what its proponents always boasted in the beginning at least.

I just got work to pay for a GoLand licensed for me. The VSC experience was slower, more RAM hungry and not as full featured, so it didn't really make sense to stick with.

> Godoc is broken because of it

That was resolved a while ago. Godoc supports modules[1]:

For those who are following this issue because you are waiting for module support in the godoc command (golang.org/x/tools/cmd/godoc), please note that it has been implemented in the latest version. See issue #33655.

[1] https://github.com/golang/go/issues/26827#issuecomment-55194...

it made it painful for a while, but GoLand and VSCode both support modules at this point (though VSCode uses the gopls[1] (language server), that I've been having mixed results with).

[1] https://github.com/golang/tools/tree/master/gopls

I can't speak for GoLand but VSCode is totally borked. It is improving but we regressed a ton after Go modules were released.
Hello,

I'm new to go (and so far enjoying it). I haven't use modules yet. How do they break IDE support ? (using Goland here)

It doesn't. You just need to configure goland properly
I haven't used Goland but vscode is broken.