General-purpose L2 GDScript Language Server for Godot 4.7+.
Stdio JSON-RPC, zero-config — works with any LSP client (VS Code, Neovim, OMP, etc.).
| Operation | What it does |
|---|---|
| Diagnostics | Syntax errors + extends chain validation |
| Document Symbols | func, var, const, signal, class_name, extends |
| Go to Definition | extends, class_name, preload, class methods |
| Find References | Global search with scope-aware filtering |
| Hover | Function signatures + ## doc comments |
| Rename | Global symbol rename via workspace/applyEdit |
| Completion | Keywords, locals, extends chain members, Godot built-in API |
npm install -g gdscript-lspThe server communicates over stdio using the LSP 3.17 protocol. Configure your LSP client:
{
"servers": {
"gdscript-lsp": {
"command": "gdscript-lsp",
"args": ["--stdio"],
"fileTypes": [".gd"],
"rootMarkers": ["project.godot"]
}
}
}The server ships with a pre-generated stubs/stubs.json containing the full Godot 4.7 class API (810 classes). To regenerate for a different Godot version:
# Generate API XML from your Godot engine
godot --doctool --path /tmp/godot-docs
# Generate stubs.json
npx ts-node stubs/generate.ts /tmp/godot-docs/doc/classesnpm install
npm run build
npm test # 68 tests
npm run stubs:generate # regenerate stubs.json- TypeScript 5.7, Node.js v24
- tree-sitter-gdscript (v6.1.0) for parsing
- vscode-languageserver (v10) for LSP protocol
MIT