Coming late, but it is worth the wait...
What's LSP
Please see my old post. Now LSP client is integrated in neovim to bring fast/smooth user experience!
What About LanguageClient-Neovim in That Post?
It's way hard to config and this one is no better than CoC.
What About CoC?
Wow, this one changes a lot since my last check. Now it's very easy to use and a lot mature. Strongly recommend to people just from Visual Studio. It's a lot heavy as it looks like. It's an ambitious migration of VS extensions plus many powerful features. Major language as JS is a plus. If nvim-lsp fails me, I'll convert to CoC for sure.
The reason to prefer nvim-lsp a bit is native support and performance, though right now, I have no evidence to show that. Another execuse is deoplete plugin doesn't work nicely with CoC and some of my plugins are with deoplete 😢.
Anyway, now I could evaluate both of them in different projects in work and probably update later.
Nvim-LSP Setup in 3 Min
If setting up CoC is in 1 min, then lsp takes just a bit longer. To preview nvim's native lsp with me:
- Be sure to have
conda
at hand (you should!). If not please follow this. Just install nvim nightly build:
conda install -c daizeng1984/label/nightly nvim
Comment out your old complete plugins like CoC, LanguageClient-neovim etc.
Install plugin nvim-lsp
Add these lines to your config.vimrc:
lua <<EOF
require'nvim_lsp'.pyls.setup{}
require'nvim_lsp'.tsserver.setup{}
EOF
- Then install language servers you need, for example
pyls
you can do:conda install -y -c conda-forge python-language-server
and fortsserver
you can do in nvim directly:LspInstall tsserver
. For more language support, look at here. Ideally, all these plugins should be installed with:LspInstall
seamlessly in nvim in the future just like CoC.
Java
Java is missing here. But again, just a matter of time.
Autocomplete
If you need autocomplete, add autocomplete plugin e.g. deoplete-lsp.