Shift ShiftLocal file and Python symbol search for VS Code, backed by a Rust worker. Tap and release Shift twice within 300 ms to open search. VS Code handles the modifier chord; the extension installs no keyboard hook. Install and useThis repository contains the source for If you installed an earlier development VSIX with ID Search starts indexing on first use. Files are parsed in bounded batches during discovery, so results appear before the entire directory tree has been walked. Open Python documents are indexed first. The picker refreshes as indexing progresses; its status bar shows the number of files indexed so far.
The shortcut is inactive in the terminal. Shift Shift: Open Search also works from the Command Palette. Rebind it using VS Code's Keyboard Shortcuts editor. CoverageEvery eligible file is searchable by path. There is no file-count limit.
Symlinks are excluded, including symlink workspace roots. Add other environment, generated-output or dependency paths with The default picker displays the best 100 results, configurable up to 1,000 with Unsaved Python edits update the index after a 100 ms debounce, with pending edits flushed before searching. Filesystem events update saved files. A closed document reloads its disk content. OS/VS Code watcher exclusions and limits can delay or miss filesystem events; reindex reconciles the workspace. Invalid Python is parsed with recovery and reported in Index Status. Unreadable files, unsupported encodings, oversize sources or storage failures are reported there. A completed scan can still have failures; inspect status before assuming complete coverage. Local storage and safetyThe worker reads source without importing Python, running project commands or making network requests. It runs with the extension host's user permissions and is not an OS sandbox. The application's Rust source forbids unsafe code; dependencies may use unsafe internally. See the included The default ASTs and source buffers are discarded after extraction. Disk storage contains names, positions and paths, not complete source text. Clean shutdown deletes the session directory; a forced host/OS crash can leave it under the system temp directory. No search history or telemetry is stored. Status logs can contain private paths. Checksums detect accidental binary changes; they do not establish package authenticity. BuildRequires Node 22+ and Rust 1.97. Dependencies are locked. From this directory:
Each VSIX includes only its platform's worker, bundled JavaScript and license/security documentation. No runtime npm dependencies. The cross-compiled Linux musl binaries are statically linked. macOS ARM64 and Linux x64 have passed native smoke checks; Linux ARM64 has been cross-compiled and inspected but still needs runtime testing. Windows and Intel macOS packages are not available yet. BenchmarksSee benchmark/README.md to compare against actual Pylance on your own source snapshot and verify extraction coverage against CPython. The original development corpus and raw results are private and are not distributed here. Query semantics and definition coverage differ, so compare successful target recall and matching result sets along with latency. Pylance remains useful for type checking, completion, references and semantic analysis; this extension provides lexical definition navigation. Contributing and publishingRun the build and checks above before submitting a pull request. Report bugs through GitHub Issues, including extension version, platform and Index Status, with private paths and symbol names removed. The repository disables npm install scripts, pins CI actions, runs dependency and workflow audits, and keeps publishing credentials out of build jobs. A separate release workflow verifies reviewed source and exact package provenance, then requires independent approval of the package hashes before producing an upload bundle. See SECURITY.md for the supply-chain controls, private reporting channel and remaining runtime limitations. See PUBLISHING.md for platform packaging and Marketplace release steps. The project uses the MIT license; dependency licenses are listed in THIRD_PARTY_NOTICES.md. |