OdooLS is actively developed and not yet at a stable release. You may encounter crashes or inconsistent results. Report issues and follow development at github.com/odoo/odoo-ls.
Features
OdooLS provides the following IDE capabilities for Odoo projects:Autocompletion
Context-aware completions for Odoo models, fields, XML IDs, import statements, and relational field keyword arguments such as
comodel_name and inverse_name.Diagnostics
Real-time error detection including missing fields, invalid model references, domain validation errors, broken import statements, and manifest dependency issues.
Go-to-definition
Jump from a model reference, field access, XML ID, import, or
__manifest__.py dependency directly to its declaration.Hover
Inline documentation and type information when hovering over models, fields, functions, import targets, and manifest module dependencies.
Document symbols
Browse all classes, functions, and symbols defined in the current file via your editor’s outline or symbol picker.
Workspace symbols
Search for any class, function, model name, or XML ID across the entire workspace (e.g.,
Ctrl+T in VS Code). XML IDs are prefixed with xmlid. and model names are quoted.Supported IDEs
OdooLS integrates with the following editors through dedicated extensions:VS Code
The primary supported IDE. The extension bundles the server, provides status indicators, and exposes Odoo-specific settings.
PyCharm
A JetBrains plugin integrates OdooLS into PyCharm, with lifecycle management and loading status display (PyCharm 2025.3+).
Neovim
Integration via
nvim-lspconfig for Neovim users who prefer a manual setup.Zed
A light integration for the Zed editor.
Branch model
The repository uses four branches with distinct stability guarantees:| Branch | Purpose |
|---|---|
master | All newly merged content. Cutting-edge, may be unstable. |
alpha | Features frozen for the next beta; tested internally. |
beta | Latest pre-release public version. Available on marketplaces that support pre-release tags. |
release | Latest stable public release. Available on marketplaces. |
beta builds. Use release for day-to-day development.