Source linked

Claude Code Gets a Visual Studio Extension with Native Diff Accept/Reject

An open-source extension brings Claude Code's terminal edits into Visual Studio's native diff viewer, with accept/reject buttons and automatic compiler error sharing.

firishclaude codevisual studiovs extensionanthropicdeveloper tools

Firish's open-source Claude Code Visual Studio extension implements the same protocol as the official VS Code and JetBrains plugins, but adds Visual Studio's native diff viewer with accept/reject buttons. No more squinting at terminal diffs or auto-applying edits you haven't reviewed.

Native Diff Viewer Ends the Terminal Patching Game

Install the extension from the VS Marketplace and click Launch. Claude CLI connects automatically. Edits open in Visual Studio's native diff viewer. Click Accept or Reject. Reject with a reason, and Claude takes another pass. That's the core loop, and it's exactly what the Visual Studio community has been asking for (there's a long-standing GitHub issue full of +1s).

Compiler Errors and Selection Become Automatic Context

The extension shares your current selection and compiler errors for C# and C++ with the CLI. No copy-paste, no context window fiddling. Claude sees exactly what your build told you and what block you're working on. That alone saves a ton of keystrokes per iteration.

Dockable Stats and 'Run Wild' Mode

A dockable panel shows connection status, token counts, and cost for the session. When you trust the bot, flip the "Run Wild" toggle and edits auto-accept without opening the diff. It works with the existing claude CLI -- no separate model calls, no new subscription.

Next up for Firish: with Visual Studio's massive C# and C++ developer base, this extension could turn the tide on Claude CLI adoption in the .NET ecosystem.


Source: Show HN: Claude Code for Visual Studio (native diff with accept/reject)
Domain: github.com

Read original source ->

External source stays available while the OJO article and comment thread stay local.

Comments load interactively on the live page.