A language server and VS Code extension for marimo.
- Open this project in VS Code
- Press
F5to launch a new VS Code window with the extension loaded - Open a marimo notebook (or create a new one)
This project requires uv, pnpm, and just.
Quickstart
cd marimo-lsp
code .
# Press `F5` in VS Code (or "Run and Debug" > "Run Extension" in the UI).Note
The extension currently builds against the main branch of
marimo-team/marimo, so both
repositories must be cloned side-by-side:
parent-folder/
├── marimo/ # Main marimo codebase
└── marimo-lsp/ # This project
Eventually this codebase will be merged into the main marimo repo, simplifying setup.
This project uses just for common development tasks:
| Command | Action |
|---|---|
just check |
Lint and typecheck all code |
just fix |
Fix linting issues and format all code |
just test |
Run all tests (pytest + vitest) |
just pytest |
Run Python tests only |
just vitest |
Run TypeScript tests only |
just vscode-test |
Run VS Code extension integration tests |
You can pass additional arguments to test commands:
just pytest -v # Run pytest with verbose output
just pytest tests/test_foo.py # Run specific test file
just vitest --watch # Run vitest in watch modeSee ARCHITECTURE.md for details on how the LSP server and extension work together.