VS克劳德
一个带有集成MCP服务器的VS Code扩展,允许像Claude这样的MCP客户端与Visual Studio Code交互。
主要特点
- 智能文件操作 -在VS Code中打开文件、差异和Git比较
- 批量操作 -一次打开多个文件以实现高效的工作流程
- Git集成 -查看不同版本文件之间的git差异
- 线条突出显示 -跳转到特定行或突出显示行范围
概述
VS Claude为AI助手提供了一个简单的工具,通过MCP(模型上下文协议)接口打开VS代码中的文件和差异。
导航工具
打开 -在VS Code中打开文件、差异和git比较
- 打开带有可选行突出显示的文件
- 显示两个文件之间的差异
- 查看git差异(工作更改、暂存、提交)
- 在一次操作中打开多个文件
- 看
mcp/main.go了解完整的工具描述
安装
选项1:来自VS代码扩展市场
- 打开VS代码
- 转到扩展(Cmd+Shift+X/Ctrl+Shift+X)
- 搜索“VS克劳德”
- 单击安装
选项2:从源代码构建
- 构建VSIX包:
git clone https://github.com/your-username/vs-claude.git
cd vs-claude
npm install
npm run build
npm install -g @vscode/vsce
vsce package- 在VS代码中安装:
- 按 Cmd+Shift+P (Mac)或 Ctrl+Shift+P (Windows/Linux) - 运行“扩展:从VSIX安装…” - 选择生成的 .vsix 文件
设置Claude集成
安装后,系统将提示您安装Claude的MCP服务器。单击“安装”继续。
如果您需要稍后安装或手动安装:
- 打开命令选项板(
Cmd+Shift+P在Mac或Ctrl+Shift+P在Windows/Linux上) - 运行“VS克劳德:安装MCP”
- 重新启动Claude以激活
- 如果适合任务,指示克劳德使用vs Claude工具
设置与其他AI助手的集成
如果您的AI助手支持MCP服务器:
- 打开命令选项板(
Cmd+Shift+P在Mac或Ctrl+Shift+P在Windows/Linux上) - 运行“VS克劳德:安装MCP”
- 点击“手动设置”
- 按照人工智能助手的MCP服务器配置说明进行操作
建筑
VS Claude由两部分组成:
VS代码扩展(TypeScript)
- 使用Claude CLI安装MCP服务器
- 使用VS代码API实现文件打开逻辑
- 处理基于文件的IPC,以便与MCP客户端通信
命令:
VS Claude: Install MCP-使用Claude安装MCP服务器VS Claude: Uninstall MCP-从Claude中删除MCP服务器
MCP服务器(Go)
- 将MCP客户端的工具调用转发到VS Code的简单代理
- 将VS Code的响应返回给MCP客户端
通信流
MCP Client (Claude) ↔ MCP Server ↔ File System ↔ VS Code Extension- MCP服务器将命令写入
~/.vs-claude/{windowId}.in - VS代码扩展将响应写入
~/.vs-claude/{windowId}.out - 每个VS Code窗口都有一个唯一的ID,其中包含元数据
~/.vs-claude/{windowId}.meta.json - 当打开多个窗口时,MCP服务器返回一个列出可用窗口的错误
发展
先决条件
- Node.js 16+
- 转到1.21+
- VS代码
脚本
npm run build # Build TypeScript and Go binaries
npm run build:debug # Build with Go debug symbols (no cross-compilation)
npm run check # Format with Biome, lint, and type check all code
npm run test # Run tests
npm run clean # Remove build artifacts构建系统
- 扩展捆绑 使用esbuild
- 跨平台Go二进制文件 适用于macOS(Intel/ARM)、Linux和Windows
项目结构
vs-claude/
├── src/ # TypeScript extension source
│ ├── extension.ts # Main entry point
│ ├── tools/ # Tool implementations
│ │ ├── open-tool.ts # File opening logic
│ │ └── types.ts # TypeScript types
│ ├── command-handler.ts # Command dispatcher
│ ├── window-manager.ts # Window IPC management
│ ├── logger.ts # Logging system
│ └── setup.ts # MCP installation logic
├── mcp/ # Go MCP server source
│ └── main.go # MCP server implementation
├── scripts/ # Build scripts
│ ├── build-extension.js # Extension bundling
│ └── build-mcp-server.sh # Cross-platform Go compilation
├── test/ # Test suite
│ ├── suite/ # Test implementations
│ └── test-workspace/ # Sample project for testing
├── build/ # Build outputs (generated)
│ ├── mcp/ # Cross-platform Go binaries
│ └── extension/ # TypeScript compilation output
└── CLAUDE.md # Project-specific instructions测试
该项目包括以下综合测试:
- 启动带有扩展名的VS代码
- 测试文件打开功能
- 验证MCP集成
使用以下工具运行测试:
npm test发展
按F5以开发模式运行扩展。
故障排除
工具不可用
- 确保VS Code在安装了扩展的情况下运行
- 检查MCP服务器是否已配置:
claude mcp list - 安装后重新启动Claude
多个VS代码窗口
当打开多个窗口时,MCP服务器会返回一个列出可用窗口的错误。然后,MCP客户端必须在每个请求中指定一个窗口ID:
mcp_vs-claude_open({
args: {"type": "file", "path": "/path/to/file.ts"},
windowId: "window-123"
})贡献
欢迎投稿!请阅读我们的贡献指南,并将拉取请求提交到我们的存储库。
发布到VS Code扩展市场
- 首选https://dev.azure.com/badlogicgames/badlogicgames
- 使用登录badlogicgames@gmail.com
- 单击右上角MZ旁边的非描述性图标
- 点击“个人访问令牌”
- 生成新令牌,导致旧令牌可能已过期。为组织、范围完全访问选择“所有可访问的组织”
vsce publish,输入愚蠢的令牌- 检查https://marketplace.visualstudio.com/manage/publishers/mariozechner?noPrompt=true关于出版状态
许可证
\[此处为许可证信息\]
