jupyter-lsp does not come with any language servers preinstalled.
However, we will try to use them if they are installed and we know about them
(i.e. someone contributed a full specification).
You can disable auto-detection by configuring autodetect
You can add another language server for languages that are not listed on this page:
using a minimal JSON or Python configuration file (good for experimenting or configuring a niche server), or
contributing a full specification (to enable better integration and help other users of the same language)
For the language servers in the tables below, use one of the suggested package
managers to install them: these implementations are tested to work with
Notebook-optimized Language Servers¶
These servers have support for notebooks and file editors. The
r-languageserver are well-tested, while
Julia servers are
experimental. If you choose to install multiple language servers for the same
language, the one with the highest
priority (which can be set in the Advanced
Settings Editor) will be used.
The Scala language server (
metals) is not currently auto-detected, but can be
configured as demonstrated in the
If you plan to add a custom language server for the use with notebooks, please note that a complete set of information should be provided by the kernel, as described in making custom servers work with notebooks.
NodeJS-based Language Servers¶
These servers have mostly been tested with file editors.
NodeJS is a prerequisite for installation of any of the above language servers; you can get it with:
conda install -c conda-forge nodejs # or one of the following, as an administrator choco install nodejs # Windows with Chocolatey sudo apt-get install nodejs # Debian/Ubuntu sudo brew install nodejs # MacOS with Homebrew sudo dnf install nodejs # Fedora sudo yum install nodejs # RHEL/CentOS
Example: Getting All the NodeJS-based Language Servers¶
A number of language servers are built on the
powered by NodeJS. The most reliable place to install these is in a
node_modules in the directory where you launch
For example, to install all the servers which are tested as part of
This will create (or add to):
package.json(check this in!)
yarn.lock(check this in!)
node_modules/(add to your VCS ignore file)
If you wish to install these someplace else, you may need to specify where you install them with extra_node_roots.
Other scientific languages¶
These servers have been mostly tested with file editor.
Example: Getting a \(\LaTeX\) stack¶
conda install -y conda-forge tectonic texlab chktex
This will install:
tectonic, a cross-platform \(\LaTeX\) processing tool
note, it will download a large number of packages when first executed
texlab, a Language Server for
.texfiles that supports completion and reference navigation
Rscript not found. Please ensure that RScript executable is in the PATH; this should happen automatically when using Linux, Mac OS or Conda, but will require manual configuration when using the default R installer on Windows. For more details please consult documentation: https://cran.r-project.org/bin/windows/base/rw-FAQ.html#Rcmd-is-not-found-in-my-PATH_0021 If Rscript is already in the PATH, you can check whether the language server package is properly installed with: Rscript -e "cat(system.file(package='languageserver'))" which should return the path to the installed package.