Skip to content

VS Code extension

extensions/vscode/ is a first-party VS Code extension published as Lime Code on the Marketplace. It speaks the same JSON-RPC bridge protocol as the web PWA — there’s only one engine.

Chat sidebar

  • Streaming markdown rendered with VS Code-themed syntax highlighting.
  • /slash autocomplete sourced live from the engine’s command registry (your custom commands and plugin commands are included).
  • @file mentions backed by vscode.workspace.findFiles.
  • Permission prompts with a rule-pattern picker — quick-add forms like Bash(git:*) or Write(src/*).
  • Session list, continue, fork-with-branch-name.
  • Tool-call cards updated in place; bash / bash_session_* rendered in a real Pseudoterminal with ANSI colors and native scrollback.

Editor surfaces

  • Code Actions — “Ask Lime to fix”, “Refactor with Lime”, “Explain selection” appear in the lightbulb menu.
  • CodeLens — “Explain · Test · Refactor” shortcuts above functions. Off by default.
  • Source Control group — an “Edited by Lime” group tracks files Lime touched, with one-click diff vs HEAD.
  • Inline completions — single-shot bridge RPC for fast suggestions. Off by default.

Copilot Chat integration

  • An @lime chat participant in the built-in VS Code Chat panel. Off by default.
  • Read-only Lime tools (lime_grep, lime_glob, lime_read, lime_lsp) are registered as vscode.lm tools so other Copilot agents can call them.

MCP

Lime’s configured MCP servers are surfaced to VS Code via McpServerDefinitionProvider. Copilot Chat sees the same catalog without duplicating .vscode/mcp.json.

IDE companion (terminal users)

The same extension hosts a per-window WebSocket server, lockfile-discovered by the lime CLI in ~/.lime/ide/. Localhost-only and bearer-token gated on upgrade. The CLI uses the companion to delegate diff review, selection access, and diagnostics to VS Code via registered MCP tools — even for users who primarily live in the terminal.

Settings

Settings live under lime.* in your VS Code settings file. The extension README at extensions/vscode/README.md documents the full list and defaults.

Releases

Per-version changes are published in extensions/vscode/CHANGELOG.md.