Configure the VS Code extension

Every setting, what it defaults to, and what it costs.

Written By Dustin

Last updated About 3 hours ago

All settings live under TOVIO in VS Code's settings UI, or under the tovio. prefix in settings.json.

SettingDefaultWhat it does
tovio.executablePathtovioPath to the binary. The default finds it on your PATH. A .js/.mjs/.cjs path is run through Node, which is how wrapper scripts and tests are supported.
tovio.statusBar.enabledtrueShow the TOVIO status-bar items.
tovio.decorations.enabledtrueShow the A/M/D/! badges in the Explorer and on editor tabs.
tovio.refreshDebounceMs300Debounce between a repository-state trigger and the status refresh. Clamped to 50–5000.
tovio.rationaleHover.enabledtrueShow the owning change and its recorded rationale when you hover a line.
tovio.tokenWarnings.enabledtrueWarn once per session when an agent capability token is about to expire or has expired.
tovio.inlineBlame.enabledfalseAnnotate the current line with its owning change and rationale. Off by default; the Toggle Inline Blame command flips it.
tovio.history.limit200How many commits the History view loads. Clamped to 1–2000.

The two that affect performance

refreshDebounceMs and history.limit are the ones to touch on a large repository. Raising the debounce trades freshness for fewer tovio status invocations; lowering the history limit makes the History view cheaper to open. Both treat the symptom — the underlying status scan is usually the real cost, and the filesystem monitor is the thing that addresses it. See the editor-troubleshooting article, which explains why it needs a terminal of its own.

Recolouring protected files

The tint on policy-protected files is a theme colour, tovio.sealedResourceForeground, so you can override it like any other:

"workbench.colorCustomizations": {
  "tovio.sealedResourceForeground": "#ff7ab2"
}

Worth doing if the default does not stand out in your theme. The point of the tint is that you notice it.

What there is no setting for

There is no telemetry setting, because there is no telemetry. There is no update setting, because the extension is not published to a marketplace and does not update itself. And there is no way to make the extension show protected content you are not cleared for — that is enforced in the engine, not in the editor.