LSP (Language Server Protocol)
The problem is that there is a matrix of code editors and languages to support. It doesn't make sense that every editor has extensive support for js, ruby, python, C... Why not just make dedicated servers that will handle all things for a specific language (syntax checking, autocomplete, go-to-file etc).
- For instance, we have vim and a language server that handles everything for javascript. This same language server can be used for VSCode, Sublime, IntelliJ etc.