VS Code Extensions
E

Evo CLI for VS Code

by ruiqi-lei

Open evo in a VS Code terminal, and keep it aware of the file and selection you are looking at

Downloads

4

Rating

— (0)

Version

0.4.2

Last updated

Aug 12, 2026

Open the Evo AI agent in a VS Code terminal, side-by-side with your editor — and let it see what you are looking at.

Usage

Run Evo: Open in CLI from the command palette (Cmd+Shift+P). Evo opens in a terminal panel — rendered by this extension — split to the right of your editor.

Why a webview terminal

VS Code's built-in terminal draws inline images (the kitty graphics protocol evo uses to typeset $…$ / $$…$$) into a CSS-resolution canvas, so on a Retina/HiDPI display every formula is upscaled and blurry — and no DPI or supersampling on evo's side can beat that ceiling.

So Evo: Open in CLI does not use the built-in terminal at all. It hosts our own xterm.js terminal in a webview, with a small fork of the image addon that draws each image at device resolution (1 image-pixel per physical pixel). Formulas render as sharp as text, and supersampling finally helps. The panel also:

  • runs evo over a real pty, so its normal TUI is unchanged;
  • collapses full-width ─ rule lines to a single row when you make the panel narrower (no dangling one-character stubs);
  • matches your terminal.integrated font, and tells evo the device pixel ratio and cell size so its math is sized correctly.

It ships no native binaries: the pty is VS Code's own bundled node-pty, loaded from the running app — so the ABI is always right, on every platform.

Crisp math needs evo's latex-math extension (bundled with evo) plus a LaTeX toolchain (latex + dvipng) on your PATH.

Editor context

While the extension is active it keeps a small JSON file up to date with the file you have focused and the text you have selected, and points every terminal in the window at it through EVO_IDE_CONTEXT. Evo picks it up with its bundled ide-context extension:

  • the focused file — and the selected lines, verbatim — are prefixed to each prompt you submit, so "explain this function" needs no further pointing;
  • its status line shows ⧉ 3 lines selected while a selection exists.

The file lives at ~/.evo/ide/vscode-<pid>.json, is rewritten atomically, and is deleted when the window closes. Nothing is sent anywhere: no server, no port, no token. An evo that does not see EVO_IDE_CONTEXT behaves exactly as it did before.

Configuration

Setting Default Description
evo.cliPath "evo" Path to the evo executable

Requirements

  • Evo installed and on your PATH
  • For the editor context, evo's ide-context extension installed in ~/.evo/extensions/ (make install-home in the evo repository)

Related extensions