For almost everything else e.g. git, learning how to use the command line instead of a UI is the best way for me to learn how the tooling works.
For almost everything else e.g. git, learning how to use the command line instead of a UI is the best way for me to learn how the tooling works.
BTW I'm not affiliated with them but they're having a 50% discount sale right now.. iirc 25 birthday sale. They seldom give out discounts, so this is a great time to upgrade too.
And that's not the "toolbox" license suite - I do all that for the price of a single Ultimate subscription.
Tools that eliminate even a little bit of cognitive load moves the point of no return a little bit farther, which means there are kinds of problems you can touch that someone else won't or can't.
If anyone is an emacs/vim user it's certainly worthwhile to enable similar error reporting plugins to get the same effect
LSP is decent, but I've yet to see any languages with the depth and quality of Jetbrains IDE support, by a fairly large margin. I've had to fight VSCode settings many, many times in to world of Go, but Goland "just works" for the essentials - intellisense and code navigation is just so much better. Python and Typescript are probably the best-supported in VSCode, but they still don't meet the mark. Rule applies doubly so for languages that aren't strongly typed. Breakpoint debugging for code and tests is similarly hands off.
They add all sorts of ecosystem-specific know how to make the experience smooth, e.g. Rails, Rspec in RubyMine.
I still use command line tools for every other part of my workflows, e.g. Ripgrep, git, dependency management, but I haven't found anything else that compares for coding with really excellent intellisense and code nav, other than Visual Studio proper for C#.
Great thing about JetBrains is they work out of the box unlike vim where you need to spend a whole month customizing just to get back on working on the project with 20 random plugins out there and it's still probably only 30% as good as JetBrain's.
VSCode is being developed rapidly and I see many good plugins but it's still quite far behind except for the launch speed. At least it could be seen as a competitor to make sure JetBrains will keep innovating and keep the performance of their IDE sane not to lose customers to VSCode.
I HATE using a Gem then needing to break my train of thought to pull up the official documentation to see what an API interface looks like. Ctrl+click. In and out in 15 seconds.
This is why I love these sorts of threads :)
Jetbrains UI that shows available options or pops them in real time.
And command line UI; requires reading the docs to learn options, but can be powerful and chained with other commands via pipes, ez automating UI interactions into scripts, etc.
To me it's not worth learning the "in-between" tools for the extremely limited circumstances that I'll need something less than IntelliJ but more than vim/bash. I even hesitate to customize my vim much because I need to rely on it as a fallback on nearly any system, and on novel systems I can't rely on my customization.
I'm not dogmatic about only sticking to these - I'm comfortable with VS Code when it's what my employer/workgroup provides, and I'm comfortable with Sublime, as it's particularly portable (can be run off USB). So sometimes Sublime is the fanciest option.
But anything in between JetBrains and vim needs a real "reason" to bother investing the time to learn.
What cool stuff should I look at as I am willing to be sold on this.
Maybe this could help: https://blog.jetbrains.com/idea/2015/08/experimental-zero-la...
Here was a 3rd party analysis from 2015, showing a reduction in latency when editing XML files in IntelliJ IDEA from ~70ms with large jitter to 1.7ms with small jitter: https://pavelfatin.com/typing-with-pleasure/#summary
I wonder if it's turned on by default today, 5 years later.
Some other techniques: https://medium.com/@sergio.igwt/boosting-performance-of-inte...
https://blog.jetbrains.com/idea/2016/12/intellij-idea-2017-1...
https://blog.jetbrains.com/clion/2017/01/clion-starts-2017-1...
Make sure you enable Golang modules in the settings also.
Anyways just mentioning some stuff off the top of my head I enjoy:
Debugging is a great experience.
Can find a plugin for most anything, I use the Kubernetes one for syntax completion and documentation. (alt-q I think)
Also you can create .rest files and compose http requests and trigger them right in the files, which I thought was cool.
The documentation pop up by hitting alt-q in general is pretty cool. Don’t have to run over to godoc.
Then most things you’d expect from an advanced ide. Multi line editing... jump to definitions and implementations... Project wide code search and replacement