VS Code 中的 GitHub Copilot 速查表

Visual Studio Code 中的 GitHub Copilot 提供自主智能代理、内联建议、聊天和智能操作。智能代理可以在后台或云端并行计划、实现并验证跨多个文件的更改。你可以选择多种 AI 模型,通过 MCP 连接外部工具,并为你的团队工作流自定义代理。本速查表为您提供了所有功能的快速概览。

提示

如果您还没有 Copilot 订阅,您可以通过注册 Copilot 免费计划来免费使用 Copilot,每月可获得有限数量的行内建议和聊天交互。

基本键盘快捷键

  • ⌃⌘I (Windows, Linux Ctrl+Alt+I) - 打开聊天视图
  • ⌘I (Windows, Linux Ctrl+I) - 在聊天视图中输入语音聊天提示词
  • ⌘N (Windows, Linux Ctrl+N) - 在聊天视图中开始新的聊天会话
  • ⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) - 在聊天视图中切换使用智能代理
  • ⌘I (Windows, Linux Ctrl+I) - 在编辑器或终端中启动内联聊天
  • ⌘I (Windows, Linux Ctrl+I) (按住) - 启动内联语音聊天
  • Tab - 接受内联建议或导航至下一个编辑建议
  • Escape - 忽略内联建议

在 VS Code 中访问 AI

  • 使用自然语言开始聊天对话

    • 聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I)):在辅助侧边栏中保持正在进行的聊天对话
    • 编辑器或终端中的内联聊天 (⌘I (Windows, Linux Ctrl+I)):在工作流中随时提问
    • 快速聊天 (⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L)):无需离开当前任务即可快速提问
  • 编辑器中的 AI

    • 内联建议:在输入时获取建议,按 Tab 键接受建议
    • 编辑上下文菜单操作:访问常见的 AI 操作,例如解释或修复代码、生成测试或审查选定的文本
    • 代码操作:获取编辑器代码操作(灯泡图标),以修复 Lint 和编译器错误
  • VS Code 中特定于任务的智能操作

    • 生成提交信息以及拉取请求 (PR) 的标题和描述
    • 修复测试错误
    • 语义文件搜索建议

VS Code 中的聊天体验

开始自然语言聊天对话以获取编码任务方面的帮助。例如,请求解释一段代码或编程概念、重构一段代码或实现一个新功能。获取有关使用 Copilot Chat 的更多信息。

操作 描述
⌃⌘I(Windows、Linux Ctrl+Alt+I 在辅助侧边栏中打开聊天视图
⌘I(Windows、Linux Ctrl+I 启动内联聊天以在编辑器或终端中打开聊天。
⇧⌥⌘L(Windows、Linux Ctrl+Shift+Alt+L 打开快速聊天,而无需中断您的工作流。
⌘N (Windows、Linux Ctrl+N) 在聊天视图中开始新的聊天会话。
在聊天视图中切换不同的智能代理
⌥⌘. (Windows, Linux Ctrl+Alt+.) 显示模型选择器以为聊天选择不同的 AI 模型
上下文窗口控制 聊天输入框中的可视化指示器,显示上下文窗口的使用情况。悬停可查看总 Token 计数及按类别的详细分类。
添加上下文... 将不同类型的上下文附加到您的聊天提示词中。
/-命令 使用斜杠命令处理常见任务或调用可重用的聊天提示词
#-引用 引用常见工具或聊天变量以在提示词中提供上下文
@-引用 引用聊天参与者以处理领域特定的请求。
编辑 () 编辑以前的聊天提示词并撤销更改。
历史记录 () 访问您的聊天会话历史记录。
排队或引导 在请求运行时发送后续消息。选择将消息排队、引导当前请求,或停止并立即发送。
语音 () 使用语音输入聊天提示词(语音聊天)。聊天响应将被朗读出来。
KaTeX 在聊天响应中渲染数学方程式。通过 chat.math.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 启用。右键点击数学表达式以复制源表达式。
Mermaid 在聊天响应中渲染 Mermaid 图表。通过 mermaid-chat.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 启用。右键点击图表以复制源代码。

提示

  • 使用 #-引用为你的聊天提示词添加更多上下文。
  • 保持具体、简单,并提出后续问题以获得最佳结果。
  • 选择适合你特定任务的内置代理或自定义代理。

为你的提示词添加上下文

通过为你的聊天提示词提供上下文来获取更相关的响应。可选择不同的上下文类型,例如文件、符号、编辑器选区、源代码管理提交、测试失败等。

操作 描述
添加上下文 打开快速选择 (Quick Pick) 以选择适合你聊天提示词的上下文。可从工作区文件、符号、当前编辑器选区、终端选区等不同上下文类型中选择。
拖放文件 从资源管理器或搜索视图中拖放文件,或将编辑器标签页拖动到聊天视图中。
拖放文件夹 将文件夹拖放到聊天视图中以附加其中的文件。
拖放问题 从“问题”面板中拖放项目。
#<file|folder|symbol> 输入 #,后跟文件、文件夹或符号名称,将其添加为聊天上下文。
#-引用 输入 #,后跟聊天工具,以添加特定的上下文类型或工具。

聊天工具

在聊天中使用工具来完成专门任务,同时处理用户请求。此类任务的示例包括列出目录中的文件、编辑工作区中的文件、运行终端命令、获取终端输出等。

VS Code 提供内置工具,你还可以使用 MCP 服务器扩展程序中的工具来扩展聊天功能。了解有关工具类型的更多信息。

下表列出了 VS Code 的内置工具

聊天变量/工具 描述
#agent (工具集) 将任务委派给其他智能代理
#agent/runSubagent 在隔离的子代理上下文中运行任务。有助于改善主代理线程的上下文管理。
#browser (工具集) (实验性)集成浏览器中的页面交互:导航、读取页面内容、截图、点击、输入、悬停、拖动及处理对话框。通过 workbench.browser.enableChatTools 在 VS Code 中打开 在 VS Code Insiders 中打开 启用。
#edit (工具集) 启用对工作区的修改。
#edit/createDirectory 在工作区中创建新目录。
#edit/createFile 在工作区中创建新文件。
#edit/editFiles 对工作区中的文件应用编辑。
#edit/editNotebook 对 Notebook 进行编辑。
#execute (工具集) 在你的机器上执行代码和应用程序。
#execute/createAndRunTask 在工作区中创建并运行新任务
#execute/getTerminalOutput 获取在工作区中运行终端命令的输出。
#execute/runInTerminal 在集成终端中运行 Shell 命令。
#execute/runNotebookCell 运行 Notebook 单元格。
#execute/testFailure 获取单元测试失败信息。在运行和诊断测试时非常有用。
#newWorkspace 创建新工作区。
#read (工具集) 读取工作区中的文件。
#read/getNotebookSummary 获取 Notebook 单元格及其详细信息列表。
#read/problems 将“问题”面板中的工作区议题和问题添加为上下文。在修复代码或调试时非常有用。
#read/readFile 读取工作区中的文件内容。
#read/readNotebookCellOutput 读取 Notebook 单元格执行的输出。
#read/terminalLastCommand 获取上次运行的终端命令及其输出。
#read/terminalSelection 获取当前终端选区。
#search (工具集) 启用在当前工作区中搜索文件。
#search/changes 源代码管理更改列表。
#search/codebase 在当前工作区中执行代码搜索,自动查找与聊天提示词相关的上下文。
#search/fileSearch 使用 Glob 模式在工作区中搜索文件并返回其路径。
#search/listDirectory 列出工作区中目录下的文件。
#search/textSearch 在文件中查找文本。
#search/usages “查找所有引用”、“查找实现”和“转到定义”的组合。
#selection 获取当前编辑器选区(仅在有选中文本时可用)。
#todos 使用待办事项列表跟踪聊天请求的实现和进度。
#vscode/askQuestions 允许智能代理使用交互式问答轮播功能提出澄清问题。
#vscode/extensions 搜索并询问有关 VS Code 扩展的信息。例如:“如何开始使用 Python #extensions?”
#vscode/getProjectSetupInfo 提供构建不同类型项目的说明和配置。
#vscode/installExtension 安装 VS Code 扩展。
#vscode/runCommand 运行 VS Code 命令。例如,“启用禅模式 #runCommand”。
#vscode/VSCodeAPI 询问有关 VS Code 功能和扩展开发的问题。
#web (工具集) 访问 Web 内容。
#web/fetch 获取指定网页的内容。例如,“总结 #web/fetch code.visualstudio.com/updates”。

斜杠命令

斜杠命令是聊天中特定功能的快捷方式。你可以使用它们快速执行操作,例如修复问题、生成测试或解释代码。

斜杠命令 描述
/doc 从编辑器内联聊天中生成代码文档注释。
/explain 解释代码块、文件或编程概念。
/fix 请求修复代码块或解决编译器或 Lint 错误。
/tests 为编辑器中全部或选定的方法和函数生成测试。
/setupTests 获取设置代码测试框架的帮助。获取有关相关测试框架的建议、设置和配置步骤,以及 VS Code 测试扩展的建议。
/clear 在聊天视图中开始新的聊天会话。
/compact 通过总结对话上下文来压缩它。当对话增长到超过模型的上下文窗口时非常有用。
/fork 将当前聊天会话分叉为一个继承完整对话历史记录的独立新会话。了解更多有关分叉聊天会话的信息。
/debug 显示聊天调试视图以检查聊天日志进行故障排除
/troubleshoot 要求 AI 分析当前聊天会话的智能代理调试日志。可选地包含 #session 以选择并诊断以前的聊天会话。例如,/troubleshoot 我使用了多少个 Token?/troubleshoot 列出你在 #session 中尝试加载自定义项的所有路径。需要 github.copilot.chat.agentDebugLog.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开
/new 构建新的 VS Code 工作区或文件。使用自然语言描述你需要的项目/文件类型,并在创建之前预览构建内容。
/newNotebook 根据你的需求构建一个新的 Jupyter Notebook。使用自然语言描述 Notebook 应包含的内容。
/init 根据你的项目结构和编码模式生成或更新工作区说明(copilot-instructions.mdAGENTS.md)。
/plan 为复杂的编码任务创建详细的实现计划。研究需求、提出澄清问题,并生成包含步骤、验证和决策的结构化计划。
/search 为搜索视图生成搜索查询。使用自然语言描述你想要搜索的内容。
/startDebugging 生成 launch.json 调试配置文件并从聊天视图启动调试会话。
/agents 配置你的自定义智能代理
/hooks 配置你的钩子 (hooks)
/instructions 配置你的自定义指令
/prompts 配置你的可重用提示词文件
/skills 配置你的智能代理技能
/create-prompt 在智能代理模式下,借助 AI 助手生成提示词文件
/create-instruction 在智能代理模式下,借助 AI 助手生成指令文件
/create-skill 在智能代理模式下,借助 AI 助手生成智能代理技能
/create-agent 在智能代理模式下,借助 AI 助手生成自定义智能代理
/create-hook 在智能代理模式下,借助 AI 助手生成钩子配置。
/yolo
/autoApprove
启用所有工具调用的全局自动批准 ( chat.tools.global.autoApprove 在 VS Code 中打开 在 VS Code Insiders 中打开 此设置由组织级别管理。请联系你的管理员进行更改。)。首次启用时会显示警告对话框。
/disableYolo
/disableAutoApprove
禁用所有工具调用的全局自动批准
/<skill name> 在聊天中运行智能代理技能。例如,如果你有一个名为 webapp-testing.md 的技能文件,你可以通过输入 /webapp-testing 来运行它。
/<prompt name> 在聊天中运行可重用提示词

聊天参与者

使用聊天参与者来处理聊天中领域特定的请求。聊天参与者以 @ 为前缀,可用于询问有关特定主题的问题。VS Code 提供内置聊天参与者,例如 @github@terminal@vscode,扩展程序也可以提供额外的参与者。

聊天参与者 描述
@github 使用 @github 参与者询问有关 GitHub 存储库、议题、拉取请求等问题。获取有关可用 GitHub 技能的更多信息。
示例:@github 分配给我的所有开放 PR 有哪些?@github 向我展示 @dancing-mona 最近合并的 PR
@terminal 使用 @terminal 参与者询问有关集成终端或 Shell 命令的问题。
示例:@terminal 列出此工作区中最大的 5 个文件
@vscode 使用 @vscode 参与者询问有关 VS Code 功能、设置和 VS Code 扩展 API 的问题。
示例:@vscode 如何启用自动换行?

使用智能代理 (Agents)

使用智能代理时,你可以使用自然语言指定高级任务,并让 AI 自主对请求进行推理、规划所需工作并将更改应用到你的代码库。智能代理结合使用代码编辑和工具调用来完成你指定的任务。在处理请求时,它会监控编辑和工具的结果,并进行迭代以解决出现的任何问题。

操作 描述
⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) 在聊天视图中切换使用智能代理
工具 () 配置在使用智能代理时哪些工具可用。从内置工具、MCP 服务器和扩展程序提供的工具中进行选择。
权限级别 为当前会话选择权限级别默认批准绕过批准自动驾驶 (Autopilot) (预览)。控制工具批准的处理方式。
自动批准工具 在使用智能代理时启用所有工具的自动批准 ( chat.tools.autoApprove 在 VS Code 中打开 在 VS Code Insiders 中打开 )。
自动批准终端命令 在使用智能代理时启用终端命令的自动批准 ( chat.tools.terminal.autoApprove 在 VS Code 中打开 在 VS Code Insiders 中打开 )。
MCP 配置 MCP 服务器以扩展智能代理的能力和工具。
第三方智能代理 通过你的 Copilot 订阅使用来自 Claude Agent (预览版) 和 OpenAI Codex 等外部提供商的智能代理。
Claude Agent (预览版) 启动由 Anthropic Claude Agent SDK 提供支持的 Claude Agent 会话。使用 /agents/hooks/memory 斜杠命令进行高级工作流。

提示

  • 在使用智能代理时添加额外工具以扩展其功能。
  • 配置自定义智能代理以定义其运行方式,例如实现只读规划模式。
  • 定义自定义指令以指导智能代理如何生成和构建代码。
  • 尝试使用 Claude Code 或 OpenAI Codex 等第三方智能代理,以获得不同的代理编码体验。

规划

在 VS Code 聊天中使用计划代理,在开始复杂编码任务之前创建详细的实现计划。将批准的计划移交给实现代理以开始编码。

操作 描述
计划 Agent 从智能代理下拉菜单中选择计划 (Plan) 代理,或使用 /plan 斜杠命令为复杂的编码任务创建详细的实现计划。
待办事项列表 查看待办事项列表以跟踪复杂任务的进度。使用 setting(chat.tools.todos.showWidget 设置启用此功能。
内存 智能代理可以在对话中保存和调用持久化笔记。使用 github.copilot.chat.tools.memory.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 设置启用或禁用。使用 聊天:显示记忆文件 (Chat: Show Memory Files) 命令查看已存储的记忆。

自定义你的聊天体验

自定义你的聊天体验,以生成符合你的编码风格、工具和开发人员工作流的响应。在 VS Code 中有多种自定义聊天体验的方法

  • 自定义指令:为生成代码、执行代码审查或生成提交信息等任务定义通用指南或规则。自定义指令描述 AI 应在其中运行的条件(任务应该如何完成)。

  • 可重用提示词文件:为生成代码或执行代码审查等常见任务定义可重用的提示词。提示词文件是你可以直接在聊天中运行的独立提示词。它们描述了要执行的任务(应该完成什么)。

  • 自定义智能代理:定义聊天的运行方式、它可以使用的工具以及它与代码库的交互方式。每个聊天提示词都在智能代理的边界内运行,而无需为每个请求配置工具和指令。

使用聊天自定义编辑器 (预览版) 在一个地方发现、创建和管理你的所有自定义项。在聊天视图中选择配置聊天 (Configure Chat)(齿轮图标),或从命令面板运行聊天:打开聊天自定义 (Chat: Open Chat Customizations)

提示

  • 定义语言特定的指令,以便为每种语言获取更准确的生成代码。
  • 将你的指令存储在工作区中,以便与你的团队轻松共享。
  • 为常见任务定义可重用的提示词文件,以节省时间并帮助团队成员快速上手。

编辑器 AI 功能

当你在编辑器中编码时,可以使用 Copilot 在输入时生成内联建议。调用内联聊天以提问并获取 Copilot 的帮助,同时保持编码的流程。例如,要求 Copilot 为函数或方法生成单元测试。获取有关内联建议内联聊天的更多信息。

操作 描述
行内建议 开始在编辑器中输入并获取符合你编码风格并考虑现有代码的内联建议
代码注释 通过在代码注释中编写指令来提供内联建议提示词。
示例:# 编写一个计算器类,包含加、减和乘法的方法。使用静态方法。
⌘I(Windows、Linux Ctrl+I 启动编辑器内联聊天以直接从编辑器发送聊天请求。使用自然语言并引用聊天变量和斜杠命令来提供上下文。
F2 在重命名代码中的符号时获取 AI 支持的建议。
上下文菜单操作 使用编辑器上下文菜单访问常见的 AI 操作,例如解释代码、生成测试、审查代码等。右键点击编辑器以打开上下文菜单并选择生成代码 (Generate Code)
代码操作(灯泡图标) 在编辑器中选择代码操作(灯泡图标)以修复代码中的 Lint 或编译器错误。

提示

  • 使用有意义的方法或函数名称,以更快地获取更好的内联建议。
  • 选择一个代码块以限定你的内联聊天提示词范围,或通过附加文件或符号来添加相关上下文。
  • 使用编辑器上下文菜单选项直接从编辑器访问常见的 AI 支持操作。

源代码管理和问题

使用 AI 分析提交和拉取请求中的更改,并提供提交信息和拉取请求描述的建议。

操作 描述
#changes 将当前的源代码管理更改添加为聊天提示词的上下文。
提交作为上下文 将源代码管理历史记录中的提交添加为聊天提示词的上下文。
提交信息 为源代码管理提交中的当前更改生成提交信息。
合并冲突 (实验性) 获取使用 AI 解决 Git 合并冲突的帮助。
拉取请求描述 生成与拉取请求中的更改相对应的拉取请求标题和描述。
@github 在聊天中使用 @github 参与者询问有关存储库中的议题、拉取请求等问题。获取有关可用 GitHub 技能的更多信息。
示例:@github 分配给我的所有开放 PR 有哪些?@github 向我展示 @dancing-mona 最近合并的 PR

代码审查(实验性)

使用 AI 对代码块进行快速审查,或对工作区中未提交的更改执行审查。审查反馈以注释形式显示在编辑器中,你可以在那里应用建议。

操作 描述
审查选区 (Review Selection) (预览版) 选择一个代码块,并从编辑器上下文菜单中选择生成代码 (Generate Code) > 审查 (Review) 进行快速审查。
代码审查 (Code Review) 选择源代码管理视图中的代码审查 (Code Review) 按钮,对所有未提交的更改进行更深入的审查。

搜索和设置

在搜索视图中获取语义相关的搜索结果,或获取搜索设置编辑器中设置的帮助。

操作 描述
设置搜索 在设置编辑器中包含语义搜索结果 ( workbench.settings.showAISearchToggle 在 VS Code 中打开 在 VS Code Insiders 中打开 )。
语义搜索 (预览版) 在搜索视图中包含语义搜索结果 ( search.searchView.semanticSearchBehavior 在 VS Code 中打开 在 VS Code Insiders 中打开 )。

生成测试

VS Code 可以通过在聊天中使用斜杠命令为你的代码库中的函数和方法生成测试。斜杠命令是可以在聊天提示词中使用的常见任务的缩写符号。输入 / 后跟命令名称以使用斜杠命令。

操作 描述
/tests 为编辑器中全部或选定的方法和函数生成测试。生成的测试将附加到现有的测试文件中,或者创建一个新的测试文件。
/setupTests 获取设置代码测试框架的帮助。获取有关相关测试框架的建议、设置和配置步骤,以及 VS Code 测试扩展的建议。
/fixTestFailure 请求 Copilot 提供有关如何修复失败测试的建议。
测试覆盖率 (实验性) 为尚未被测试覆盖的函数和方法生成测试。获取更多信息

提示

  • 提供有关要使用的测试框架或库的详细信息。

调试和修复问题

使用 Copilot 帮助修复编码问题,并获取在 VS Code 中配置和启动调试会话的帮助。

操作 描述
/fix 请求 Copilot 提供有关如何修复代码块或解决代码中任何编译器或 Lint 错误的建议。例如,帮助修复未解析的 Node.js 包名称。
/fixTestFailure 请求 Copilot 提供有关如何修复失败测试的建议。
/startDebugging (实验性) 生成 launch.json 调试配置文件并从聊天视图启动调试会话
copilot-debug 命令 帮助你调试程序的终端命令。在运行命令前添加前缀以启动其调试会话(例如,copilot-debug python foo.py)。

提示

  • 提供有关你需要的修复类型的附加信息,例如优化内存消耗或性能。
  • 留意编辑器中的 Copilot 代码操作,它们表示修复代码问题的建议。

构建新项目

Copilot 可以通过生成项目结构的构建蓝图,或根据你的需求生成 Notebook 来帮助你创建新项目。

操作 描述
代理 使用智能代理并使用自然语言提示词创建新项目或文件。例如,创建一个 svelte Web 应用程序来跟踪我的任务
/new 在聊天视图中使用 /new 命令来构建新项目或新文件。使用自然语言描述你需要的项目/文件类型,并在创建之前预览构建内容。
示例:/new 使用 typescript 和 svelte 的 Express 应用程序
/newNotebook 在聊天视图中使用 /newNotebook 命令根据你的需求生成一个新的 Jupyter Notebook。使用自然语言描述 Notebook 应包含的内容。
示例:/newNotebook 获取人口普查数据并使用 Seaborn 预览关键洞察

终端

获取有关 Shell 命令的帮助,以及如何在终端中运行命令时解决错误。

操作 描述
⌘I(Windows、Linux Ctrl+I 启动终端内联聊天,使用自然语言询问有关 Shell 命令和终端的问题。
示例:这台机器上有多少个核心?
@terminal 在聊天视图中使用 @terminal 参与者询问有关集成终端或 Shell 命令的问题。
示例:@terminal 列出此工作区中最大的 5 个文件
@terminal /explain 在聊天视图中使用 /explain 命令来解释终端中的某些内容。
示例:@terminal /explain top shell 命令

Python 和 Notebook 支持

你可以使用聊天来帮助你在原生 Python REPL 和 Jupyter Notebook 中完成 Python 编程任务。

操作 描述
生成 (Generate)
⌘I(Windows、Linux Ctrl+I
在 Notebook 中启动内联聊天以生成代码块或 Markdown 块。
# 在聊天提示词中附加来自 Jupyter 内核的变量,以获得更相关的响应。
原生 REPL + ⌘I (Windows, Linux Ctrl+I) 在原生 Python REPL 中启动内联聊天并运行生成的命令。
⌃⌘I(Windows、Linux Ctrl+Alt+I 打开聊天视图并使用智能代理进行 Notebook 编辑。
/newNotebook 在聊天视图中使用 /newNotebook 命令根据你的需求生成一个新的 Jupyter Notebook。使用自然语言描述 Notebook 应包含的内容。
示例:/newNotebook 获取人口普查数据并使用 Seaborn 预览关键洞察

后续步骤

© . This site is unofficial and not affiliated with Microsoft.