GitHub - SeanPedersen/vscode-semble: Semantic code search inside VS Code, powered by semble · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
SeanPedersen
vscode-semble
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>1 Commit<br>1 Commit
.vscode
.vscode
media
media
src
src
.gitignore
.gitignore
.vscodeignore
.vscodeignore
LICENSE
LICENSE
README.md
README.md
esbuild.mjs
esbuild.mjs
package.json
package.json
pnpm-lock.yaml
pnpm-lock.yaml
pnpm-workspace.yaml
pnpm-workspace.yaml
tsconfig.json
tsconfig.json
View all files
Repository files navigation
Semble for VS Code
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.
Requirements
The extension needs the semble CLI. If you already have it, nothing to do —<br>it is found automatically. If you don't, the extension offers to install a<br>private copy for you the first time you search.
Detection
The executable is looked for in order: PATH, the usual install locations<br>(~/.local/bin, /opt/homebrew/bin, /usr/local/bin), your login shell's<br>PATH, and finally the extension-managed install. The login-shell step matters<br>because VS Code launched from Finder or the Dock does not inherit the PATH<br>your .zshrc sets up — which is where uv and pipx put their shims.
If detection still fails, point semble.executablePath at the binary;<br>which semble will tell you where it is.
Managed install
When no CLI is found, the error notification offers Install CLI . That<br>creates a private environment under the extension's storage directory using<br>uv (which fetches a Python interpreter too, if the machine has none), falling<br>back to venv + pip when only Python 3.10+ is available. It does not touch<br>your PATH or your own Python environments, and it goes away when you<br>uninstall the extension. Progress is streamed to the Semble Install output<br>channel.
Semble: Install or Update CLI in the Command Palette runs the same thing<br>on demand and upgrades an existing managed copy to the latest release.
Note that the first search after installing also downloads the embedding<br>model, so there are two waits on a cold machine.
To install the CLI yourself instead:
uv tool install semble # or: pipx install semble
Usage
Open the Semble view in the Activity Bar and type in the search box, the way<br>you would use the built-in Search view. Cmd+Alt+S (Ctrl+Alt+S on<br>Windows/Linux) focuses it from anywhere, and Semble: Search in the Command<br>Palette does the same.
Results appear below the box as you type, grouped by file. Click a file row to<br>collapse it.
↓ from the search box moves into the results; arrow keys preview each hit in<br>the editor without taking focus out of the list. Enter opens it properly,<br>Esc returns to the search box.
Clicking a result opens it and moves focus to the editor.
With text selected in the editor, Cmd+Alt+S seeds the search box with it.
The bar on the right of each row shows the result's score relative to the best<br>hit for that query.
The first search against a folder builds the index and shows a cancellable<br>progress notification. Subsequent searches hit the cache and return in well<br>under a second.
Settings
Setting<br>Default<br>Description
semble.executablePath<br>""<br>Absolute path to semble. Empty means auto-detect.
semble.autoInstall<br>"prompt"<br>prompt offers a managed install when no CLI is found; never only links to the docs.
semble.topK<br>10<br>Number of results per search.
semble.maxSnippetLines<br>10<br>Lines of source per result. 0 shows locations only.
semble.contentTypes<br>["code"]<br>Content to index: code, docs, config, or all.
Development
pnpm install<br>pnpm run check # typecheck<br>pnpm test # unit tests<br>pnpm run build # bundle to dist/<br>pnpm run package # produce a .vsix
Press F5 to launch an Extension Development Host with the extension loaded.
License
MIT
About<br>Semantic code search inside VS Code, powered by semble<br>Resources<br>Readme<br>MIT license<br>Activity<br>Stars<br>1 star<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.