Lots of people mentioning LSP. I've been an emacs user for over 10 years now. I've installed and tried the LSP modes. I've done it with 27 and jsonc as well. They are slow as hell and buggy. Is this just the accepted way of things now? I like emacs because it's fast. I can't stand using tools that are slower than the speed I can think.
There are multiple LSP clients though, there's lsp-mode [1] and eglot [2].
After trying out both, I prefer Eglot, mainly because I find it faster and less intrusive than lsp-mode. It also composes better with built-in packages, such as flymake . I use gopls and pyls as language servers.