[Disclaimer: I'm not a senior dev with 35 years of editor-hopping experience. Any decision you may take is your responsibility]
I intend this to be a short first read to give new or intermediate devs the big picture as I see it.
The editor is a very important tool to us devs. Taking the time to familiarise with it, understand and improve it is always worth it.
Even a ridiculously hard to install plugin that would take a day to configure and boost your productivity by a measly 1% would pay for itself in just 4 months. And most improvements takes just minutes to make and can total to an important multiplier (i'm talking x1.5 to x5 here) to your efficiency.
Those are questions you should ask yourself if/when choosing or changing editors
Know yourself: Can you afford to take the time it takes if the learning curve is steep? Something keyboard-driven, if you are touch typist ? Personal preference between terminal / GUI ?
Know your machine: a potato laptop may not be able to smoothly run a heavy GUI IDE; or maybe your multi-monitor setup won't play nice with this terminal-based editor.
Know your work: only one language? (even in the foreseeable future?). Mandatory functionality your boss ask you to have that's not available everywhere ? Work on remote server / SSH / exclusively in terminal ?
Modern editors / IDEs are not just one tool. Sometimes they are a new language in themselves (vim verbs/motions), or more often come with a new set of commands, shortcuts and a large ecosystem of plugins.
Try out: the new editor you might switch to. Blog posts about which one is better always conclude it depends on you.
Actively discover: practice, look a few tutorials. Look for plugin 'best of's, stores and catalogues, and ask your peers for advice.
Passively discover: get tools up (like android studio startup tip, or a similar vim-tips plugin) to passively deliver tips. Update your tools often. Save blog/reddit posts for when you have time to try them out.
In 2020, you can expect from your editor/IDE to deliver top-notch functions of the following categories. If you currently don't have one, unless you are sure you don't need it, it may be time to look into it.
- syntax coloration: basic but 100% necessary
- code completion: simple integrated autocompletion is often superseded by tools providing LSP support or that have an AI backend
- linting: it parses your code and shows basic (or sometimes more intricated) syntax errors
- 'intellisense' / project integration: provides go-to-definition, type hint, documentation peek
- interactive run/debug: you should be able, in 2020, to send your code or even a part of if to an interpreter (send-to-REPL, interactive window), or debug (integrated debugging) without leaving your editor & recompiling+running everything.
- file management: jump between or browse through different files
- Git / VCS integration: a nice to have if you use extensively git or another VCS
That's it! Thanks for reading!