Semantic code search inside VS Code, powered by semble.
Describe what code does — "where do we parse configuration", "retry failed uploads" — instead of guessing the identifier it was named after.
To install semble CLI yourself:
uv tool install semble # or: pipx install sembleUsage
Open the Semble view in the Activity Bar and type in the search box, the way
you would use the built-in Search view. Cmd+Alt+S (Ctrl+Alt+S on
Windows/Linux) focuses it from anywhere, and Semble: Search in the Command
Palette does the same.
- Results appear below the box as you type, grouped by file. Click a file row to collapse it.
↓from the search box moves into the results; arrow keys preview each hit in the editor without taking focus out of the list.Enteropens it properly,Escreturns to the search box.- Clicking a result opens it and moves focus to the editor.
- With text selected in the editor,
Cmd+Alt+Sseeds the search box with it. - The bar on the right of each row shows the result's score relative to the best hit for that query.
The first search against a folder builds the index and shows a cancellable progress notification. Subsequent searches hit the cache and return in well under a second.
Settings
| Setting | Default | Description |
|---|---|---|
semble.executablePath |
"" |
Absolute path to semble. Empty means auto-detect. |
semble.autoInstall |
"prompt" |
prompt offers a managed install when no CLI is found; never only links to the docs. |
semble.topK |
10 |
Number of results per search. |
semble.maxSnippetLines |
10 |
Lines of source per result. 0 shows locations only. |
semble.contentTypes |
["code"] |
Content to index: code, docs, config, or all. |
Requirements
The extension needs the semble CLI. If you already have it, nothing to do —
it is found automatically. If you don't, the extension offers to install a
private copy for you the first time you search.
Detection
The executable is looked for in order: PATH, the usual install locations
(~/.local/bin, /opt/homebrew/bin, /usr/local/bin), your login shell's
PATH, and finally the extension-managed install. The login-shell step matters
because VS Code launched from Finder or the Dock does not inherit the PATH
your .zshrc sets up — which is where uv and pipx put their shims.
If detection still fails, point semble.executablePath at the binary;
which semble will tell you where it is.
Managed install
When no CLI is found, the error notification offers Install CLI. That
creates a private environment under the extension's storage directory using
uv (which fetches a Python interpreter too, if the machine has none), falling
back to venv + pip when only Python 3.10+ is available. It does not touch
your PATH or your own Python environments, and it goes away when you
uninstall the extension. Progress is streamed to the Semble Install output
channel.
Semble: Install or Update CLI in the Command Palette runs the same thing on demand and upgrades an existing managed copy to the latest release.
Note that the first search after installing also downloads the embedding model, so there are two waits on a cold machine.
To install the CLI yourself instead:
uv tool install semble # or: pipx install sembleDevelopment
pnpm install pnpm run check # typecheck pnpm test # unit tests pnpm run build # bundle to dist/ pnpm run package # produce a .vsix
Press F5 to launch an Extension Development Host with the extension loaded.
License
MIT