Notebook support
Notebook support is experimental. The LSP specification for notebooks is still evolving, and jetls-client VS Code extension uses an unreleased version of vscode-languageclient to fully enable this feature.
JETLS provides language features for Julia code cells in notebooks. The LSP notebook protocol is designed to be generic and can handle various notebook formats, but JETLS currently focuses on Jupyter notebooks given the current state of client implementations (see the Client support section below).
Demo
As shown in this demo, all code cells are analyzed together as a single source, as if the notebook were a single Julia script. The language server is aware of all cells, so features like go-to-definition, completions, and diagnostics work across cells just as they would in a regular Julia script.
Client support
As of December 2025, notebook LSP is only supported by VS Code and VS Code-based editors (such as Cursor, Eclipse Theia, or VS Codium).
These clients currently only support Jupyter notebooks (.ipynb files).
Other editors like Neovim, Emacs, or Zed do not currently support the notebook LSP protocol, so this feature is not available in those environments.
Usage
- Open a
.ipynbfile in VS Code - Select "Julia" as the notebook kernel/language
The notebook environment is detected automatically, just like for regular Julia scripts. If a Project.toml exists in the current or a parent directory, it will be used as the project environment.