Show HN: VS Code Extension – Semantic Code Search (Semble)

sean_pedersen1 pts0 comments

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.

semble search code install pnpm extension

Related Articles