craft-ls VSCode extension
VSCode extension for craft-ls, a
Language Server Protocol
implementation for *craft tools (snapcraft, rockcraft, charmcraft).
Please note that this extension was created using LLMs.
Features
| Feature |
Snapcraft |
Rockcraft |
Charmcraft |
| Diagnostics |
✅ |
✅ |
✅ |
| Documentation on hover |
✅ |
✅ |
✅ |
| Symbols |
✅ |
✅ |
✅ |
| Autocompletion |
✅ |
✅ |
✅ |
Installation
Install the extension from the VSCode Marketplace.
The extension does not bundle the language server. It launches the craft-ls binary
already installed on your system:
uv tool install craft-ls
# or
pipx install craft-ls
(See also the snap and the
nix flake packages.)
If no craft-ls binary is found on your PATH, the extension shows a warning when it starts.
Configuration
{
// Explicit path to the craft-ls executable.
// Leave empty to resolve the binary from the PATH.
"craft-ls.serverPath": "/home/user/.local/bin/craft-ls"
}
After changing the setting, run the Craft-ls: Restart Server command.
Development
npm install
npm run watch # esbuild watch mode
npm run lint # typecheck + eslint
npm run vsce-package # build the VSIX
Release
Releases are automated by .github/workflows/release.yaml on version tags.