A few features I usually want are:
- A terminal if it’s not a TUI editor
- File search (constrained to the project workspace), fuzzy or substring based.
- Code Formatter
- Spellcheck for comments
- VCS integration. For the current file and for the project as a whole
- Launch System (compile, packaging, testing, servers,…)
I can drop some of this requirement if I can get a tiling window manager and a few terminals. What IDEs offers in extra is better understanding of the code and project’s framework (spring, android, .Net,… with their long names).
One more advice is installing vim mode extension and sticking with it for a few weeks. It takes some getting used to, but it is worth it.