Installation
Open the Extensions panel
In VS Code, open the Extensions panel with
Ctrl+Shift+X (or Cmd+Shift+X on macOS).Create a configuration file
Create an
odools.toml file at the root of your workspace to point OdooLS at your Odoo community path and addon directories. See Configuration for the full reference.The extension bundles the OdooLS server binary. You do not need to build or install the server separately when using the VSCode extension.
Configuration
The extension exposes OdooLS settings through the standard VS Code settings UI (File > Preferences > Settings, then search for Odoo). Available settings include:- Odoo path — path to your Odoo community installation
- Addon paths — list of directories containing custom addon modules
- Python path — Python interpreter to use
odools.toml file. See Configuration.
Features
Bundled server binary
The server binary ships inside the extension — no separate installation required.
Settings UI
Configure Odoo path, addon paths, and Python path directly in the VS Code settings panel.
Server status display
The extension shows the current server status (loading, ready, waiting for git lock) in the VS Code UI.
Crash notifications
If the server crashes, the extension surfaces a notification so you can report the issue or restart.
Untitled file support
OdooLS can analyse untitled (unsaved) files in VS Code, providing diagnostics and completions before you save.
Workspace symbol lookup
Press
Ctrl+T to search for any class, function, model name, or XML ID across the entire project.Workspace symbol lookup
Workspace symbol lookup (Ctrl+T) was introduced in 1.2.0. It lets you search for:
- Class and function names
- Odoo model names (shown in quotes, e.g.
"res.partner") - XML IDs (prefixed with
xmlid., e.g.xmlid.base.res_partner)
Loading status
Starting from 1.2.0, the extension uses the LSPworkDoneProgress protocol to display the server’s loading progress. While OdooLS is indexing your codebase, the progress is shown in the VS Code status bar. The server also reports when it is waiting for a git lock to be released.