展示 HN:适用于 Visual Studio 的 Claude Code(具有接受/拒绝的本地差异)
适用于 Visual Studio 的 Claude Code 将 Claude Code 引入 Visual Studio 2026 - 一个具有接受/拒绝的本地差异窗口,自动选择 + 编译器诊断上下文,以及一个实时统计面板。claude CLI 进行代理工作;这个扩展是 Claude Code 集成协议的 IDE 部分。状态:社区项目,与 Anthropic 没有关联。目前仅适用于 Visual Studio 2026。为什么 Claude Code 对 VS Code 和 JetBrains 具有一流的 IDE 集成,但不适用于 Visual Studio - 请参见 anthropics/claude-code#15942。本扩展原生实现了相同的 IDE 集成协议,因此 CLI 驱动一个真实的 Visual Studio 差异窗口,并看到您的选择和构建错误 - 而不是您复制粘贴到终端中。您所获得的:具有单一接受/拒绝门的本地差异 - Claude 的编辑在 Visual Studio 的差异查看器中打开,并在那里批准是唯一的步骤(在终端中没有重复的 y/n 提示)。带反馈的拒绝 - 拒绝编辑并告诉 Claude 要更改的内容;它会根据您的笔记重新考虑。随意运行(自动接受) - 一个面板切换,用于在不打开差异的情况下应用编辑,以便您想让它自动修正。每个会话重置。诊断共享 - Claude 读取 Visual Studio 的编译器错误/警告(C# 和 C++)并修复它们。选择上下文 - Claude 自动知道您正在查看的文件和行。实时面板 - 一个可以停靠的 Claude Code 面板:连接状态、编辑决策和令牌使用 + 估计成本(最新调用与累计会话)。要求:Visual Studio 2026。Claude Code CLI,已安装并认证 - 请参见 Claude Code 文档。此扩展不进行模型调用,并且不自己进行代理工作;它需要 CLI。已针对 claude 2.1.173 进行测试。安装市场:在扩展 -> 管理扩展中搜索“Claude Code for Visual Studio”,或从 Visual Studio 市场安装。侧载:从发布中下载 .vsix 文件并双击它。快速入门:在 Visual Studio 2026 中打开您的项目或解决方案。打开 Claude Code 面板(视图 -> 其他窗口 -> Claude Code),并点击启动 Claude Code(在工具菜单中也可用)。一个终端打开,运行 claude,已连接到 IDE(不需要 /ide)。面板标记变为绿色 - 已连接。请求 Claude 进行更改。它的编辑作为差异打开 - 点击接受、拒绝或带反馈的拒绝……。诊断需要加载的项目(而不是开放文件夹模式中的松散文件)以进行编译器分析。工作原理:这是一个协议桥,而不是代理的重新实现。在启动时,扩展:启动本地主机 WebSocket 服务器并在 ~/.claude/ide/<port>.lock 中写入锁文件。以 ENABLE_IDE_INTEGRATION 和桥接端口启动 claude,因此它会自动连接并通过套接字使用 MCP / JSON-RPC。实现 CLI 驱动的 IDE 工具 - openDiff、openFile、getDiagnostics、选择更新和 diff-tab 生命周期。为使 VS 差异成为单一批准门,扩展在您的工作区 .claude/settings.json 中安装一个小的 PreToolUse 钩子,将提议的编辑通过差异进行路由。CLI 完成所有代理工作;扩展从不进行模型调用。隐私和安全:桥接绑定到 127.0.0.1 仅,并在每个连接上验证认证令牌(来自锁文件)。该令牌从不记录。扩展不进行网络调用,也不自行进行 LLM 调用。所有的 AI 工作都是 claude CLI,在您自己的身份验证下。启动时,它将这些内容写入您的工作区的 .claude/ 文件夹,并将钩子条目合并到 .claude/settings.json 中(保留现有内容):vs-permission-hook.ps1 - 将 Edit/Write/MultiEdit 编辑路由通过 VS 差异。vs-usage-hook.ps1 - 报告转录路径,以便面板可以显示令牌统计。令牌费用是估算值(按层定价硬编码),仅在您点击“显示估算费用”时显示。限制和已知问题:目前仅适用于 Visual Studio 2026(如果有需求,计划进行 VS 2022 的补充)。IDE 集成协议没有文档,并且对版本敏感 - claude 更新可能会改变它。已知良好:2.1.173。诊断需要加载的项目(错误列表 / Roslyn 不会分析松散文件)。令牌统计在编辑时刷新(可靠的钩子触发),因此仅聊天的轮次可能不会立即更新。成本数据是估算值,而不是计费。故障排除:面板显示“等待 CLI”:点击启动 Claude Code ,或在 claude 终端中运行 /ide 并选择 Visual Studio。新文件落在错误的文件夹中:从扩展启动(它将工作目录固定到您的工作区),或从仓库内部运行 claude。getDiagnostics 返回空:将代码作为项目打开并确认错误出现在错误列表中。提交错误:包括输出 -> Claude Code 窗格内容和您的 claude --version。 从源代码构建:需要 Visual Studio 2026 以及 Visual Studio 扩展开发工作负载。msbuild src / ClaudeCodeVS / ClaudeCodeVS.csproj / t:Rebuild / p:Configuration = Rele
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡