Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I mostly use VS Code, too (or rather VSCodium), but also recommend you try LiteIDE as it's exceptionally fast.
I mostly use VS Code, too (or rather VSCodium), but also recommend you try LiteIDE as it's exceptionally fast.
I see many people here complaining about gopls having bugs, but would any of you be willing to go through the process of collecting some traces / logs and providing feedback to the development team? There are detailed instructions here: https://github.com/golang/vscode-go/blob/master/docs/troubleshooting.md Once you realise that there's no dedicated QA team and only a small minority of people are willing to report detailed diagnostics and reproduction steps, you'll understand why your experience isn't better. To quote Mike Milinkovich: "Open source is free as in free puppies. You need to take care of it."
It's true that the parser is responsible for a lot of weakness in gopls; since it's built on the Go parser, it is incapable of dealing with bad inputs. So the moment you insert a wrong parenthesis or something, causing the parsing to fail, Gopls will stop offering completions. The Go parser was not designed for a language server, and it shows. Here is a bug I reported (still open) that demonstrates how the analyzer breaks down in the presence of parse errors. But a big part of a smooth IDE experience is being able to still get good completions even if the syntax tree isn't completely sane.
Related posts
- What's the most commonly used IDE for golang development ?
- Is it worth learning Golang using VS code?
- The best free IDE for Go
- Error handling in Go web apps shouldn't be so awkward
- GoLand 2023.3 is out. It features support for Dev Containers (early access), new refactorings, asdf support, code-insight for custom string functions, and many more