I’ve not used VSCode that much, but I’ve used other editors and IDEs (currently emacs) and the most important thing (pretty obvious) is to minimize leaving the editor. That means bring out as much tooling as you can to it. Learn how to create extensions, and then try to create some to fit your current workflows.
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).