VSCode Extension
Overview
The sqry VSCode extension brings the full code graph into your editor. It connects to the sqry LSP server and provides semantic search, relationship navigation, code quality analysis, and code lenses — all without leaving VSCode.
Installation
Install from the Visual Studio Marketplace:
- Open the Extensions panel (
Ctrl+Shift+X) - Search for sqry
- Click Install
Or install from the command line:
code --install-extension verivus.sqry
The extension requires the sqry CLI to be installed and accessible on your PATH. If sqry is installed elsewhere, set the path in settings.
Features
Semantic search
Open the command palette (Ctrl+Shift+P) and run sqry: Search. Type a structured query or plain text — the extension runs it against the index and displays results in a dedicated panel with file links, symbol kinds, and code previews.
Relationship navigation
Right-click any symbol and choose:
- sqry: Find Callers — who calls this function
- sqry: Find Callees — what does this function call
- sqry: Trace Path — find the call path between two symbols
Results appear in the sqry results panel with clickable file locations.
Code lenses
When enabled, sqry adds inline annotations above functions showing how many callers each function has. Click the lens to view the full caller list.
Analysis panels
The extension provides four analysis views accessible from the sidebar:
- Unused Symbols — dead code across the workspace
- Circular Dependencies — import and call cycles
- Duplicate Code — functions with identical implementations
- Cross-Language Edges — FFI, HTTP, and gRPC boundaries
Each panel refreshes when the index is rebuilt and links directly to source locations.
Auto-indexing
On workspace open, the extension can automatically build or refresh the sqry index. Configure the behavior:
- always — index on every workspace open
- prompt — ask before indexing
- never — manual indexing only
Settings
Configure the extension via VSCode settings (Ctrl+,) or settings.json:
| Setting | Default | Description |
|---|---|---|
sqry.path | "sqry" | Path to the sqry CLI binary |
sqry.limit | 200 | Maximum search results |
sqry.timeoutMs | 15000 | Search timeout in milliseconds |
sqry.indexTimeoutMs | 300000 | Index build timeout (5 minutes) |
sqry.autoIndexOnOpen | "prompt" | Auto-index behavior: always, prompt, never |
sqry.codeLens.enabled | true | Show caller count lenses above functions |
Example settings.json:
{
"sqry.path": "/usr/local/bin/sqry",
"sqry.limit": 500,
"sqry.codeLens.enabled": true,
"sqry.autoIndexOnOpen": "always"
}
Commands
All commands are available from the command palette (Ctrl+Shift+P):
| Command | Description |
|---|---|
| sqry: Search | Run a structured or fuzzy query |
| sqry: Find Callers | Show all callers of the selected symbol |
| sqry: Find Callees | Show all callees of the selected symbol |
| sqry: Trace Path | Find call paths between two symbols |
| sqry: Find Unused | Detect dead code in the workspace |
| sqry: Find Cycles | Detect circular dependencies |
| sqry: Find Duplicates | Detect duplicate code |
| sqry: Rebuild Index | Force a full index rebuild |
| sqry: Show Graph Stats | Display codebase statistics |