使用说明
VS代码MCP服务器
Visual Studio代码扩展(可在 市场)这允许Claude和其他MCP客户端直接在VS code中编码!受...启发 塞雷娜,但使用VS Code的内置功能。非常适合扩展现有的编码代理,如具有VS Code特定功能(符号搜索、文档大纲)的Claude Code,而无需复制他们已有的工具。请注意,此扩展使用可流式传输的HTTP API,而不是SSE API。
此扩展允许执行shell命令。这意味着存在潜在的安全风险,因此请谨慎使用,并确保您信任您正在使用的MCP客户端,并且端口不会暴露于任何东西。身份验证会有所帮助,但由于MCP身份验证规范仍在不断变化,目前尚未实现。
欢迎PR!
演示视频
https://github.com/user-attachments/assets/20b87dfb-fc39-4710-a910-b9481dde1e90
安装
- 从安装扩展 市场 或克隆此存储库并运行
npm install和npm run compile建造它。
Claude桌面配置
Claude Desktop可以配置为将此扩展用作MCP服务器。要做到这一点,你的 claude_desktop_config.json 文件应该看起来像这样:
{
"mcpServers": {
"vscode-mcp-server": {
"command": "npx",
"args": ["mcp-remote@next", "http://localhost:3000/mcp"]
}
}
}
我也喜欢在Claude项目中使用这个扩展,因为它允许我为Claude指定其他指令。我发现以下提示运行良好:
You are working on an existing codebase, which you can access using your tools. These code tools interact with a VS Code workspace.
WORKFLOW ESSENTIALS:
1. Always start exploration with list_files_code on root directory (.) first
2. CRITICAL: Run get_diagnostics_code after EVERY set of code changes before completing tasks
3. For small edits (≤10 lines): use replace_lines_code with exact original content
4. For large changes, new files, or uncertain content: use create_file_code with overwrite=true
EXPLORATION STRATEGY:
- Start: list_files_code with path='.' (never recursive on root)
- Understand structure: read key files like package.json, README, main entry points
- Find symbols: use search_symbols_code for functions/classes, get_document_symbols_code for file overviews
- Before editing: read_file_code the target file to understand current content
EDITING BEST PRACTICES:
- Small modifications: replace_lines_code (requires exact original content match)
- If replace_lines_code fails: read_file_code the target lines, then retry with correct content
- Large changes: create_file_code with overwrite=true is more reliable
- After any changes: get_diagnostics_code to check for errors
PLANNING REQUIREMENTS:
Before making code modifications, present a comprehensive plan including:
- Confidence level (1-10) and reasoning
- Specific tools you'll use and why
- Files you'll modify and approach (small edits vs complete rewrites)
- How you'll verify the changes work (diagnostics, testing, etc.)
ERROR HANDLING:
- Let errors happen naturally - don't add unnecessary try/catch blocks
- For tool failures: follow the specific recovery guidance in each tool's description
- If uncertain about file content: use read_file_code to verify before making changes
APPROVAL PROCESS:
IMPORTANT: Only run code modification tools after presenting a plan and receiving explicit approval. Each change requires separate approval.
Do not add tests unless specifically requested. If you believe testing is important, explain why and let the user decide.
为了在探索代码库时提高上下文效率,请考虑将其添加到CLAUDE.md中:
## VS Code Symbol Tools for Context Efficiency
Use VS Code symbol tools to reduce context consumption:
- `get_document_symbols_code` for file structure overview instead of reading entire files
- `search_symbols_code` to find symbols by name across the project
- `get_symbol_definition_code` for type info and docs without full file context
- Workflow: get outline → search symbols → get definitions → read implementation only when needed
此扩展充当模型上下文协议(MCP)服务器,向MCP客户端公开VS Code的文件系统和编辑功能。
特性
VS Code MCP Server扩展实现了一个符合MCP的服务器,允许AI模型和其他MCP客户端:
- 列出文件和目录 在您的VS Code工作区中
- 读取文件内容 具有编码支持和大小限制
- 移动文件和目录 为导入提供适当的重构支持
- 重命名文件和目录 具有自动参考更新功能
- 复制文件 到新位置(仅限文件,不包括目录)
- 搜索符号 在您的工作空间中
- 获取符号定义 按行和符号名称显示悬停信息
- 创建新文件 使用VS Code的WorkspaceEdit API
- 更换线路 在文件中
- 检查诊断 工作区中的(错误和警告)
- 执行shell命令 在shell集成的集成终端中
- 切换服务器 通过状态栏项打开和关闭
此扩展使AI助手和其他工具能够通过标准化的MCP协议与您的VS Code工作区进行交互。
运作原理
该扩展创建了一个MCP服务器,该服务器:
- 在可配置端口上本地运行(启用时)
- 通过HTTP处理MCP协议请求
- 将VS Code的功能作为MCP工具公开
- 提供显示服务器状态的状态栏指示器,可以单击该指示器打开/关闭服务器
支持的MCP工具
文件工具
-
list_files_code:列出工作区中的文件和目录
- 参数:
path:列出文件的路径recursive(可选):是否递归列出文件
- 参数:
-
read_file_code:读取文件内容
- 参数:
path:要读取的文件的路径encoding(可选):文件编码(默认:utf-8)maxCharacters(可选):最大字符数(默认值:100000)
- 参数:
-
move_file_code:使用VS Code的WorkspaceEdit API将文件或目录移动到新位置
- 参数:
sourcePath:要移动的文件或目录的当前路径targetPath:文件或目录应移动到的新路径overwrite(可选):如果目标已存在,是否覆盖(默认值:false)
- 参数:
-
重命名_文件_代码:使用VS Code的WorkspaceEdit API重命名文件或目录
- 参数:
filePath:要重命名的文件或目录的当前路径newName:文件或目录的新名称overwrite(可选):如果具有新名称的文件已存在,是否覆盖(默认值:false)
- 参数:
-
copy_file_code:使用VS Code的文件系统API将文件复制到新位置
- 参数:
sourcePath:要复制的文件的路径targetPath:创建副本的路径overwrite(可选):如果目标已存在,是否覆盖(默认值:false)
- 参数:
编辑工具
-
创建_文件_代码:使用VS Code的WorkspaceEdit API创建新文件
- 参数:
path:要创建的文件的路径content:要写入文件的内容overwrite(可选):如果文件存在,是否覆盖(默认值:false)ignoreIfExists(可选):如果文件存在,是否忽略(默认值:false)
- 参数:
-
replace_lines_code:替换文件中的特定行
- 参数:
path:要修改的文件的路径startLine:起始行号(从1开始,包括1)endLine:结束行号(从1开始,包括1)content:用以下内容替换行originalCode:用于验证的原始代码
- 参数:
诊断工具
-
get_diagnostics_code:检查工作区中的警告和错误
- 参数:
path(可选):要检查的文件路径(如果没有提供,则检查整个工作区)severities(可选):要包含的严重性级别数组(0=错误,1=警告,2=信息,3=提示)。默认值:[0,1]format(可选):输出格式('text'或'json')。默认值:'text'includeSource(可选):是否包括诊断源。默认值:true
此工具特别适用于:
- 提交更改前的代码质量检查
- 验证修复程序是否解决了所有报告的问题
- 识别特定文件或整个工作区中的问题
- 参数:
符号工具
-
搜索_符号_代码:在整个工作空间中搜索符号
- 参数:
query:符号名称的搜索查询maxResults(可选):返回的最大结果数(默认值:10)
此工具可用于:
- 在代码库中查找符号(函数、类、变量等)的定义
- 探索项目结构和组织
- 按名称定位特定元素
- 参数:
-
get_symbol_definition_code:获取文件中符号的定义信息
- 参数:
path:包含符号的文件的路径line:符号的行号symbol:在指定行上查找的符号名称
该工具提供:
- 符号的类型信息、文档和源详细信息
- 显示符号所在行的代码上下文
- 符号范围信息
它特别适用于:
- 理解符号所代表的含义,而无需离开
- 检查函数签名、类型定义或文档
- API或库函数的快速参考
- 参数:
-
get_document_symbols_code:获取文件中所有符号的轮廓,显示层次结构
- 参数:
path:要分析的文件的路径(相对于工作区)maxDepth(可选):要显示的最大嵌套深度
该工具提供:
- 文档的完整符号树(类似于VS Code的大纲视图)
- 显示类、函数、方法、变量等的层次结构。
- 每个符号的位置信息和符号种类
- 按符号类型汇总统计
它特别适用于:
- 一目了然地了解文件结构和组织
- 获取文档中所有符号的概览
- 分析代码架构和关系
- 查找文件中特定类型的所有符号
- 参数:
壳牌工具
-
execute_shell_command代码:在具有shell集成的VS Code集成终端中执行shell命令
- 参数:
command:要执行的shell命令cwd(可选):命令的可选工作目录(默认:“.”)
此工具可用于:
- 运行CLI命令和构建操作
- 执行git命令
- 执行任何需要终端访问的shell操作
- 获取命令输出以进行分析和进一步处理
- 参数:
警告/TODO
目前,只支持一个工作区。该扩展也仅在本地工作,以避免将您的VS Code实例暴露给您可能连接的任何网络。
扩展设置
vscode-mcp-server.port:MCP服务器的端口号(默认值:3000)vscode-mcp-server.host:MCP服务器的主机地址(默认值:127.0.0.1)vscode-mcp-server.defaultEnabled:是否应在VS Code启动时默认启用MCP服务器vscode-mcp-server.enabledTools:配置启用哪些工具类别(文件、编辑、外壳、诊断、符号)
选择性工具配置:适用于已经具有某些功能的编码代理。例如,使用Claude Code,您可能会禁用文件/编辑工具,只启用符号工具来添加VS Code特定的符号搜索,而不会重复工具。
与MCP客户端一起使用
要将MCP客户端连接到此服务器,请将其配置为使用:
http://localhost:3000/mcp
或者,如果您已配置自定义主机:
http://[your-host]:3000/mcp
请记住,您需要先通过单击状态栏项启用服务器!
贡献
欢迎投稿!请随时提交问题或拉取请求。