Skip to content
| Marketplace
Sign in
Visual Studio>Tools>CaduleVS
CaduleVS

CaduleVS

Dusan Zornic

| (0) | Free
Interactive Claude CLI tool window for Visual Studio 2022, built on a Clean Architecture core.
Download

CaduleVS — Claude CLI for Visual Studio 2022

An interactive Claude tool window for Visual Studio 2022. CaduleVS drives the claude CLI directly from inside the IDE: a VS Code–styled chat surface streams Claude's output, folds your active editor / solution context into every prompt, gates file mutations behind an Accept/Reject approval step, and exposes model, reasoning-effort, and workspace slash commands from the composer.

Built by Insicon on a strict Clean Architecture core so the business logic and terminal orchestration stay decoupled from the Visual Studio SDK and WPF UI.


Features

  • Chat tool window — open from View ▸ Claude Chat (CaduleVS). Dark, VS Code–style surface with a scrollable history and a multi-line composer (Ctrl+Enter to send).
  • Live streaming + ANSI rendering — each turn spawns claude -p and streams stream-json output; a terminal parser strips ANSI/cursor noise and collapses carriage-return redraws (spinners, progress bars) onto a single line.
  • Workspace context — the active file, selection, solution, attached files and an optional SQL Server schema are folded into each prompt automatically.
  • Approval gate — proposed file edits (or a detected [y/N] prompt) pause the turn behind an Accept (Y) / Reject (N) overlay; the answer is delivered on the next resumed turn. Edit modes: Ask before edits, Edit automatically, Plan.
  • Model & effort controls — the toolbar dropdown and slider apply the CLI's --model and --effort flags per turn (no broken interactive slash commands).
  • Slash commands — type / in the composer for an IntelliSense dropdown, or use the command palette (the / button → "Filter actions…"). Available: | Command | Action | |---|---| | /add <file> | Resolve a solution file and attach it as context | | /clear | Clear the chat and start a fresh conversation | | /init | Bootstrap a CLAUDE.md coding-standards file | | /explain-errors | Analyze the current build errors and propose fixes | | /explain [focus] | Explain the selection/focused file in plain language (read-only) | | /optimize [hint] | Improve the performance of the selection/focused file in place | | /simplify [hint] | Simplify the selection/focused file for readability in place | | /describe pr [<id>] | Draft a PR title + description from an Azure DevOps PR's diff | | /fixtests [filter] | Run the test suite (dotnet test); on failures, diagnose and fix them | | /plan <task> | Planning workflow — explore, then present a plan | | /goal <goal> | Pursue a multi-step goal autonomously | | /batch <change> | Apply a change across all relevant files in one pass |
  • @-mentions — type @ to insert a @Folder/File.cs#50-70 reference to a solution file (optionally a line range), resolved into the prompt.
  • Smart Actions (editor right-click) — select code and right-click for a Smart Actions submenu: Explain, Fix, Generate Documentation, and Generate Unit Tests. Each runs the matching composer verb (/explain, /fix, /doc, /test) on the live selection — identical to typing it in the composer.
  • Exception assist (debugging) — when the debugger breaks on an exception, Debug ▸ Ask Claude about this Exception (also on the editor right-click menu) sends the exception type, message, and current call stack — plus the throwing file — to Claude for a root-cause diagnosis and fix. The command appears only while stopped on an exception. (The Exception Helper popup itself isn't extensible by the SDK, so this lives on the Debug/editor menus.)
  • Inline Edit (Ctrl+I) — select code, press Ctrl+I (or right-click ▸ Inline Edit (Claude)…), and type an instruction (e.g. "add null checks"). Claude rewrites the selection; the change is previewed in a standard VS difference window (Original vs. Claude proposal) and applied to the buffer only after you confirm — and only if the selection is unchanged since generation. (The Ctrl+I binding shadows the editor's incremental-search shortcut; rebind in Tools ▸ Options ▸ Keyboard if you prefer.)
  • Autonomous Agent view — /plan, /goal, /batch surface a live sub-task checklist and a "files modified" strip, with Force Abrupt Abort and Exit.
  • CLAUDE.md banner — when a solution has no CLAUDE.md, a non-intrusive bar invites you to run /init; it auto-hides once the file exists.
  • Commit message generation — View ▸ Generate Commit Message (Claude) reads the pending commit diff (staged changes, or all tracked changes when nothing is staged) and drafts a message. It's dropped straight into the Git Changes commit box when that box can be located, otherwise copied to the clipboard ready to paste.

Requirements

  • Visual Studio 2022 (17.0–17.x), Community / Professional / Enterprise, amd64.
  • .NET Framework 4.7.2 (the VSIX target; ships with VS 2022).
  • The claude CLI installed and on PATH (claude --version should work).

Architecture

The solution follows Clean Architecture — dependencies point inward only:

CaduleVS.Presentation (VSIX / WPF)  ──►  CaduleVS.Application (Ports / use cases)
        │                                          ▲
        └────────►  CaduleVS.Infrastructure  ───────┘
                          (adapters)                │
                                                    ▼
                                          CaduleVS.Domain (core)
Project TFM Responsibility
CaduleVS.Domain netstandard2.0 Pure POCO models, enums, state (ChatMessage, AnsiSegment, SessionState, AgentTask…). Zero dependencies.
CaduleVS.Application netstandard2.0 Ports (interfaces), the ClaudeSessionCoordinator, slash-command parsing + catalog, workspace-context aggregation.
CaduleVS.Infrastructure netstandard2.0 Adapters: claude process orchestration, ANSI tokenizer, approval-prompt detection, stream-json parsing.
CaduleVS.Presentation net472 The VSIX package, tool window, WPF chat UI, VS context tracking, and the DI composition root.

Build & run

A claude CLI and VS 2022 must be installed.

Quick dev loop (builds, deploys to the VS Experimental hive, launches it):

dev.bat

dev.bat --no-launch builds and deploys without opening VS. The Experimental Instance is a sandboxed VS hive, so it never touches your normal VS install.

Build only (MSBuild):

msbuild src\CaduleVS.Presentation\CaduleVS.Presentation.csproj ^
        -t:Restore,Build -p:Configuration=Debug

The build produces the installable package at src\CaduleVS.Presentation\bin\Debug\CaduleVS.Presentation.vsix.

Install into your normal VS: double-click the .vsix, or run install.bat. Then open View ▸ Claude Chat (CaduleVS).


Usage notes

  • Each turn is a fresh, headless claude -p process; the conversation is threaded across turns via --resume <session_id>. There is no long-lived connection, so the idle status reads Ready.
  • The composer is gated while an approval is pending — answer the Accept/Reject overlay (or press Y/N) rather than sending a new prompt.
  • Ctrl+C while the Autonomous Agent view is up triggers Force Abrupt Abort (kills the in-flight turn) when focus is not in a text box.

Diagnostics

If the tool window misbehaves, a session log is written to %TEMP%\CaduleVS.diag.log — it records command registration, each claude spawn (with its full argument line), and every turn's exit/result, so a failed turn is diagnosable from the log alone.


CaduleVS · Insicon · v1.0.7

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft