Editor extensions
Install
Both packages are attached to each GitHub release. Download them from the releases page. Neither extension is on a marketplace yet.
VS Code (requires VS Code 1.90 or newer):
$ code --install-extension vidi-vscode-0.1.1.vsix
On WSL, run that from your WSL shell.
JetBrains — Settings → Plugins → gear icon → Install Plugin from Disk,
then select vidi-jetbrains-0.1.1.zip. Loads in IDEA, PyCharm and the other
IntelliJ-platform IDEs; it depends only on com.intellij.modules.platform.
To build from source instead, see Install.
Requirements
vidi must be on your PATH.
VS Code resolves it through a ladder: the vidi.binaryPath setting, then
$VIDI_BINARY, then ~/.cargo, ~/.local, /opt/homebrew and /usr/local,
then PATH. That last-resort search exists because an editor launched from the
Dock or a launcher often inherits a minimal PATH that omits ~/.cargo/bin.
If coverage is blank and the binary works in a terminal, that is the first thing to check.
Two surprises
Both are places the extension refuses to be convenient.
Revoke behaves differently once your repo is on the hosted lane. In a
plain repo it runs vidi revoke, which appends a revocation line. That
revocation wins from then on. In a hosted-bound repo the extension revokes
nothing locally; it opens the portal in your browser and you finish there.
Revoking only ever removes coverage, so nobody does it to sneak code through. The risk is the opposite: a hijacked session or a runaway agent revoking in bulk, and turning a green repo red. Making a human prove they are present, to a server, is the one check an automated caller cannot satisfy, so for a shared ledger that step is required, and the editor cannot skip it on your behalf.
The before-commit prompt pre-selects nothing, and in VS Code it is off by
default (vidi.commitTimePrompt).
Ticking every box by default would make the fastest path through the dialog
“press OK.” Recording approved · read-fully against code you never opened.
That record is indistinguishable from a real review. Staging a file means you
want it in the commit; it is not evidence you read it, and the two coinciding so
often is exactly what makes conflating them dangerous.
Keybindings
| Action | VS Code | JetBrains | JetBrains (macOS) |
|---|---|---|---|
| Vouch for the unit at the cursor | Ctrl+Alt+V | Ctrl+Alt+V | Ctrl+Shift+V |
| Review from here (call-graph walk) | Ctrl+Alt+W | context menu | context menu |
| Sync (hosted lane only) | Ctrl+Alt+S | Ctrl+Alt+Shift+U | Ctrl+Shift+S |
The JetBrains bindings differ from VS Code’s on purpose: Ctrl+Alt+S is the stock Settings shortcut in IntelliJ keymaps, and macOS treats Option+V as a dead key.
VS Code settings
| Setting | Default | What it does |
|---|---|---|
vidi.binaryPath | (empty) | Explicit path to the binary; empty uses the resolution ladder. |
vidi.showInlayHints | true | End-of-line provenance per unit. |
vidi.significance | true | Compute the significance lens (vidi json --significance). Advisory; never gates. |
vidi.commitTimePrompt | false | Offer a before-commit vouch prompt. |