Really like what you’re doing. Select some code + cmd+K is awesome. Just cmd+k to generate code from a text is cool too. Code suggestions not at the cursor position, a few lines below, are nice.
However, VSC sucks in comparison to some paid editors from JetBrains.
Goland is just better for me. I struggle. Tiny simple things here and there.
In GoLand I just don’t touch imports. In VSC it’s a constant annoyance. I have to hit a special key shortcut to “auto fix” imports and it still fails sometimes.
Using JetBrains key bindings helps a bit, but hurts at same time. Every time I google something about vscode I have to figure out what my key bindings are. Also, some JetBrains built features, for example numbered bookmarks, are only available as plugins and those plugins may not have “jetbrains bindings mode”.
Been programming Perl in Vim for years. With Go tried to configure Vim, but switched to GoLand after one day of trial. I’m still a dinosaur. Do a lot in terminal: git, psql, docker, docker compose… I use IDE for Go code: reading, writing, navigation, running, debugging, testing and so on… GoLand wins so far in comparison to Vim and VSC. At least for me.
May be I get used to it, but at the moment it’s a set of mixed feelings.
I’ve been a cursor pro user for a year, and it’s fantastic. I love everything about Cursor AI integration, and the UX that Cursor provides is the next level for me.
But overall, the features, the level of polish, and the UI design are still far behind the JetBrains products.
It would be really nice if we get JetBrains plugins.
Maybe it’s just me. I mainly use PHPStorm, but in my opinion, it’s a full-blown IDE rather than just a text editor like Cursor.
With PHPStorm, everything was there and just worked, with so little to config, while with the Cursor, I had to install extensions and mess around with a lot of JSON config stuff to get some tools to work (e.g., phpcs, phpmd, remote interpreter …), and sometimes that extension just crash and I have to restart Cursor.
Also, I’m working with large frameworks like Magento after indexing everything much more smoothly than PHP intelephense regarding UX.
JetBrains product is just on another lever of polish in UX and UI, or I am picky.
With that said, I’m looking forward to the future, when Cursor may evolve into an actual IDE and separate itself from being a VSCode folk. But I think a Plugin just so I can use the cursor model inside the JetBrains product is nice for now.
Go, GoLand vs VSC/Cursor (everything that mentioned goland just does or does better):
language server stops working if vendor is out of date
can not rename symbols with syntax error in some file
reference view dissappears, can not find all references and switch to explorer and back
symbol search sucks, it shows symbol in the project on third place, first two are from a vendor dir
quick search in GoLang is just better, double shift and you search whatever, often it’s enough, but in if you want to clarify then you can pick a tab in this window or use key bindings to switch search mode to more specific
documentation popup widget can not be navigated, for example function description has little info and has it return type, you want to jump to declaration of this type, but you can not
explorer: still don’t know how to find a file there, in JetBrains cmd+f works, handy to jump to a dir in a project with many things
explorer: how to create a file in the root of the project? It’s a mystery.
keyboard layout change breaks all keybindings
no navigation buttons in search results, I would prefer key bindings other than don’t include F1-12 buttons, but to learn this bindings I usually bring mouse pointer to a button and wait till it reveals magic combination in a help popup line
can not run single go generate line
can not run go generate for a file at the end of file, has to scroll to the first go generate comment in the file, so annoying in a file with 20 interfaces
running tests: cursor has two ways and those are different, green play arrow, text button-ish annotation. Use second option, re-run with cmd+r at some point cmd+r stops working and shows me some task search popup
debugger sessions: I start them with text annotation button next to function, then view is opened on the left side with some empty sht, ok I jumped a breakpoints, checked things here and there, need to restart debugging session… I’m fcked… In goland I have like three ways to do it: just button “stop and restart”, I can stop stop and that debug panel has start button, to start last session, there is a button to start last debug/test/ that is always on the screen and sure there is a keybinding (that I don’t know, just never needed, it’s always there).
goland has navigation buttons next to interfaces to quickly jump to usages and to implementations
jumping to implementations is not pre-indexed in the cursor. A few seconds delay each time.
find references in goland has fillters: show/hide reads/writes, how to group lines, can combine close/same line usage into one line
you can not jump from declarations in .proto files to usages or at least to the struct/field in generated file
cmd+clinking on an import opens browser when I has this file in vendor or in go cache
Can continue, some of the above is just a configuration issue, but in GoLand touching config is so rare, in cursor I lurk config, google and ask some LLM all the time.
+1 from me. I know Cursor is more advanced that CoPilot right now. But PHPStorm + CoPilot is still better than vscode + cursor. Any gains cursor might give are lost battling vscode.