Overview of ElixirLS features and components
masterElixirLS consists of two primary components:
- Language Server: Drives code intelligence using the Language Server Protocol (LSP).
- Debug Adapter: Enables step-through debugging of Elixir projects using the Debug Adapter Protocol (DAP).
Key Features
- Debugging: Full debugger support.
- Dialyzer Integration: Automatic, incremental Dialyzer analysis with inline
@specsuggestions based on inferred success typings. - Code Intelligence: Documentation lookup on hover, go-to-definition, code completion, and finding references to functions/modules.
- Project Navigation: Quick symbol lookup in the current file, workspace, and stdlib (both Elixir and Erlang).
- Code Quality: Inline reporting of build warnings/errors and code formatting.
IMPORTANT On its first run, Dialyzer builds a PLT cache, which can take 10+ minutes of high CPU usage. You can disable Dialyzer in your settings if you wish to avoid this.