Language servers
Set up completions, diagnostics, symbols, and navigation with language integrations.
Updated
Syntax colors and language intelligence are separate. Tree-sitter provides syntax highlighting; a language server can provide completions, diagnostics, hover information, definitions and symbols.
Set up a language
- Open the project root, including its build files and dependency manifests.
- Open Integrations, find the language, and read its installation requirements.
- Install or enable its language tooling and any required runtime.
- Open a source file and wait for the language server to initialize.
- Use LSP: Show Status in the command palette to inspect active workspaces and errors.
Different integrations provide different capabilities. Installing a grammar does not guarantee that a language server, formatter or linter is available.
Use language intelligence
- Trigger suggestions and parameter hints from the editor or command palette.
- Use hover information and definition/reference actions where supported by the server.
- Open Outline for file symbols.
- Open Diagnostics for errors and available quick fixes.
- Use Formatting when the language integration provides a formatter.
Restart or stop servers
Run Language Server: Restart All Servers after changing the environment or fixing a failed server installation. Language Server: Stop All Servers stops active servers. For Java projects, Java: Refresh Project and Java: Organize Imports are also available.
When intelligence is missing
Check the language selected for the file, the integration's installed/enabled state, its required runtime and the project root. Install your project's dependencies using its normal package manager. Then inspect LSP: Show Status and the Athas log.
A server can be running without supporting every action. Report the language, integration, server error and a small reproduction when asking for help.