Basilisk for VS Code
The open-source Pylance replacement for VS Code. Website • Quick Start • Rules • GitHub What Basilisk doesBasilisk is a complete Python language server and VS Code extension that replaces Pylance and Pyright. It is not just a type checker — it provides autocomplete, go-to-definition, hover, code actions, refactoring, integrated debugging, and profiling. All fully open source. Other type checkers default to permissive and hope you opt into strictness. Basilisk starts strict and stays strict. If your code isn't typed, it's an error.
Fix it once. Ship it typed forever:
FeaturesReal-time diagnosticsErrors appear inline as you type — powered by the Basilisk LSP server with sub-10ms incremental analysis via the Salsa framework (same tech as rust-analyzer). Autocomplete, hover, go-to-definitionFull language intelligence — completions, hover documentation, go-to-definition, find references, rename symbol. Code actions and refactoringExtract function/variable, rename, move symbol, inline, organize imports — all built into the LSP. Integrated debuggingPress F5 to debug Python. Basilisk spawns debugpy and brokers the DAP connection — breakpoints, stepping, variable inspection, watch expressions. No separate debug extension needed. Integrated profilingProfile Python code with py-spy directly from the editor. View heatmaps and identify bottlenecks without leaving VS Code. Activity panelThe Basilisk sidebar provides three panels accessible from the activity bar: Module Explorer — Browse your workspace's Python module tree. Each module shows its top-level symbols (functions, classes, variables) with type annotation status. Right-click to copy import paths. Toggle between tree and flat views. Filtered by glob patterns. Type Health — Workspace-wide type coverage dashboard. Shows annotated vs unannotated symbol counts, error/warning tallies, and per-module coverage percentages with color-coded progress bars. Sort by worst-first, best-first, or alphabetical. Basilisk Info — Feature status toggles (type checking, inlay hints, Ruff, debugger, test explorer, uv), quick actions (restart server, organize imports), and server info (version, binary path, analysis mode). All panels update automatically when files change (debounced 300ms). The Module Explorer and Type Health panels appear when a workspace is open; the Info panel is always visible. Inlay hintsSee inferred types and parameter names directly in your editor:
Ruff integrationBuilt-in support for Ruff formatting and import organization. One extension, two tools. Single binary, zero dependenciesBasilisk ships as one Rust binary. No Python runtime, no Node.js, no pip, no npm. Install it and go. Diagnostic rulesAll rules are on by default. There is no way to relax them globally. Annotation rules
Type correctness
How it compares
Extension settings
Commands
RequirementsInstall the Basilisk binary:
Rust 1.87+ required for building from source. Part of BasiliskThis is the VS Code extension for the Basilisk project. Basilisk also supports Neovim and Zed. LicenseMIT or Apache-2.0, at your option. Built by NIMBLESITE PTY LTD. |