GitHub Copilot 在 VS Code 中的快捷键指南
GitHub Copilot 在 Visual Studio Code 中提供 AI 助力的功能,帮助你更快、更轻松地编写代码。此速查表提供了 Visual Studio Code 中 GitHub Copilot 功能的快速概述。
如果你还没有 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 - 接受内联建议或导航到下一个编辑建议
- 退出 - 关闭内联建议
在 VS Code 中访问 AI
-
使用自然语言开始聊天对话
- 聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I)): 在次侧边栏中保持正在进行的聊天对话
- 在编辑器或终端中进行内联聊天 (⌘I (Windows, Linux Ctrl+I)):在工作流程中提问
- 快速聊天 (⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L)): 在不离开当前任务的情况下快速提问
-
- 行内建议:边输入边获取建议,按Tab接受一个建议
- 编辑上下文菜单操作:访问常见的AI操作,如解释或修复代码、生成测试或审查文本选择
- 代码操作:获取编辑器代码操作(灯泡)以修复 linting 和编译错误
-
任务特定的智能操作在 VS Code 中
- 生成提交信息、拉取请求标题和描述
- 修复测试错误
- 语义文件搜索建议
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) | 在聊天视图中开始新的聊天会话。 |
| 在聊天视图中切换不同的Agent。 | |
| ⌥⌘. (Windows, Linux Ctrl+Alt+.) | 显示模型选择器以选择不同的AI模型进行聊天。 |
| 上下文Windows控制 | 聊天输入框中的视觉指示器显示上下文Windows使用情况。悬停以查看总代币数和按类别细分的详情。 |
添加上下文... |
附加不同类型的上下文到你的聊天提示。 |
输入:/-命令 |
使用斜线命令进行常见任务或调用可重复使用的聊天提示。 |
#-提及 |
参考常用工具或聊天变量来在你的提示中提供上下文 |
@-提及 |
参考聊天参与者处理特定领域的请求。 |
| 编辑 () | 编辑之前的聊天提示并恢复更改。 |
| 历史 () | 访问您的聊天记录。 |
| 排队或引导 | 发送跟进消息 当请求正在运行时。选择将消息排队,引导当前请求,或停止并立即发送。 |
| 声音 () | 使用语音(语音聊天)输入聊天提示。聊天响应会被朗读出来。 |
| 卡泰克斯 | 在聊天回复中渲染数学方程。启用方式 chat.math.enabled 右键单击一个数学表达式以复制源表达式。 |
| 美人鱼 | 在聊天响应中渲染美人鱼图。启用: 美人鱼聊天启用 右键单击图表以复制源代码。 |
小贴士
- 使用
#- 提及更多背景信息以丰富您的聊天提示。- 使用
输入:/命令和@参与者获得更精确和相关的答案。- 要具体、简单,并提出跟进问题以获得最佳结果。
- 选择一个符合您需求的代理:询问、编辑、代理,或创建一个自定义代理。
为你的提示添加上下文
通过提供上下文信息来获得更相关的回复。从不同类型的上下文中进行选择,例如文件、符号、编辑器选择、源代码控制提交、测试失败等。
| 行动 | 描述 |
|---|---|
| 添加上下文 | 打开快速选择以选择与您的聊天提示相关的上下文。您可以从工作区文件、符号、当前编辑器选择、终端选择等多种上下文类型中进行选择。 |
| 拖放文件 | 从资源管理器或搜索视图中拖动文件,或把编辑器标签拖动到聊天视图上。 |
| 拖放文件夹 | 将文件夹拖放到聊天视图中以附加其中的文件。 |
| 拖放问题 | 从问题面板中拖动一个项目。 |
#<文件|文件夹|符号> |
类型#, 跟随一个文件、文件夹或符号名称,将其添加为聊天上下文。 |
#-提及 |
类型#,接着是一个聊天工具,用于添加特定上下文类型或工具。 |
聊天工具
使用聊天工具来完成特定任务,同时处理用户请求。这些任务的例子包括列出目录中的文件、编辑工作区中的文件、运行终端命令、获取终端输出等。
VS Code 提供了内置工具,您可以使用 MCP 服务器 和 扩展 中的工具来扩展聊天。了解 工具类型 的更多信息。
以下表格列出了 VS Code 的内置工具:
| 聊天变量/工具 | 描述 |
|---|---|
#更改 |
源代码控制变更列表。 |
#代码库 |
在当前工作区中进行代码搜索,以自动找到与聊天提示相关的上下文。 |
#创建并运行任务 |
在工作区创建并运行一个新任务。 |
#创建目录 |
在工作区创建一个新的目录。 |
#创建文件 |
在工作区创建一个新文件。 |
#编辑(工具集) |
在工作区启用修改。 |
#编辑文件 |
对工作区中的文件进行编辑。 |
#编辑笔记本 |
对笔记本进行编辑。 |
# 扩展 |
搜索和询问 VS Code 扩展。例如,"如何开始使用 Python #extensions?" |
#获取 |
从给定的网页中获取内容。例如,"总结 #获取 code.visualstudio.com/updates." |
#文件搜索 |
通过使用 glob 模式在工作区中搜索文件并返回其路径。 |
#获取笔记本摘要 |
获取笔记本单元格及其详细信息的列表。 |
#获取项目设置信息 |
提供对不同类型的项目进行脚手架的说明和配置。 |
#获取任务输出 |
获取在工作区中运行任务的输出。 |
#获取终端输出 |
在工作区中运行终端命令并获取输出。 |
#github库 |
在 GitHub 仓库中进行代码搜索。例如,"什么是一个全局片段 #githubRepo microsoft/vscode." |
#安装扩展 |
安装 VS Code 扩展。 |
#列出目录 |
列出工作区中目录中的文件。 |
#新 |
构建一个新的 VS Code 工作区,预配置了调试和运行配置。 |
#新的Jupyter Notebook |
根据描述构建一个新的Jupyter笔记本。 |
#新工作区 |
创建一个新的工作区。 |
#打开简单浏览器 |
打开集成浏览器并预览本地部署的网页应用。 |
#问题 |
将工作区问题和 问题 面板添加为上下文。在修复代码或调试时很有用。 |
#读取文件 |
读取工作区中文件的内容。 |
#读取笔记本单元格输出 |
读取笔记本单元格执行的输出。 |
#运行单元格 |
运行笔记本单元格。 |
#运行命令(工具集) |
启用在终端中运行命令并读取输出。 |
#在终端中运行 |
在集成终端中运行 shell 命令。 |
#运行笔记本(工具集) |
启用运行笔记本单元格。 |
#运行任务 |
运行工作区中的现有任务。 |
#运行任务(工具集) |
启用在工作区运行任务并读取输出。 |
#运行子代理 |
在隔离的子代理上下文中运行任务。有助于改进主代理线程的上下文管理。 |
#运行测试 |
运行单元测试在工作区。 |
#运行Vscode命令 |
运行 VS Code 命令。例如,"启用禅定模式 #runVscodeCommand." |
#搜索(工具集) |
启用在当前工作区中搜索文件。 |
#搜索结果 |
从搜索视图获取搜索结果。 |
#选择 |
获取当前编辑器选择(仅在文本被选择时可用)。 |
#终端上一次命令 |
获取上次运行的终端命令及其输出。 |
#终端选择 |
获取当前终端选择。 |
#测试失败 |
获取单元测试失败信息。在运行和诊断测试时很有用。 |
#文本搜索 |
在文件中查找文本。 |
# todos |
跟踪聊天请求的实施和进展,并将其与待办事项列表相关联。 |
#用法 |
“查找所有引用”、“查找实现”和“转到定义”的组合。 |
#VSCodeAPI |
询问 VS Code 功能和扩展开发。 |
斜线命令
Slash commands是聊天中特定功能的快捷方式。您可以使用它们快速执行操作,例如修复问题、生成测试或解释代码。
| 斜线命令 | 描述 |
|---|---|
/文档 |
从编辑器内联聊天生成代码文档注释。 |
/解释 |
解释一段代码块、文件或编程概念。 |
/修复 |
请求修复代码块或解决编译器或静态检查错误。 |
/测试 |
为编辑器中的所有或仅选中的方法和函数生成测试。 |
/设置测试 |
获取有关为您的代码设置测试框架的帮助。获取相关测试框架的推荐、设置和配置步骤的建议,以及 VS Code 测试扩展的建议。 |
/清除 |
在聊天视图中开始新的聊天会话。 |
/调试 |
显示聊天调试视图以检查聊天日志进行故障排除。 |
/新 |
构建新的 VS Code 工作区或文件。使用自然语言描述您需要的项目/文件类型,并在创建之前预览生成的内容。 |
/新建笔记本 |
根据您的需求构建一个新的基于Jupyter的笔记本。用自然语言描述笔记本应包含的内容。 |
/初始化 |
生成或更新工作区说明Copilot指示.md或AGENTS.md) 基于您的项目结构和编码模式。 |
/计划 |
为一个复杂的编码任务制定详细的实施计划。研究需求,提出澄清问题,并生成一个包含步骤、验证和决策的结构化计划。 |
/搜索 |
为搜索视图生成搜索查询。使用自然语言描述您要搜索的内容。 |
/开始调试 |
生成一个launch.json调试配置文件并在聊天视图中启动调试会话。 |
/代理 |
配置您的自定义代理。 |
/钩子 |
配置你的钩子。 |
/说明 |
配置您的自定义指令。 |
/提示 |
配置您的可重复使用的提示文件。 |
/技能 |
配置你的技能。 |
/技能名称 |
运行一个代理技能在聊天中。例如,如果你有一个技能文件名为webapp测试.md,你可以通过输入来运行它/网页应用测试输入:. |
/提示名称 |
运行一个可重复使用的提示在聊天中。 |
聊天参与者
使用聊天参与者来处理聊天中的特定领域请求。聊天参与者以 开头。@并且可以用来询问特定主题的问题。VS Code 提供内置的聊天参与者,例如@github,@终端,和@vscode,和扩展可以提供额外的参与者。
| 聊天参与者 | 描述 |
|---|---|
@github |
使用@github 参与者可以就 GitHub 仓库、问题、拉取请求等提出问题。获取更多关于 可用的 GitHub 技能 的信息。示例: @github 我所有的未合并的PR有哪些?,@github 请给我显示 @dancing-mona 最近合并的 PR。 |
@终端 |
使用@终端 参与者可以提问关于集成终端或 shell 命令的问题。示例: @terminal 列出此工作区中的前5个最大文件 |
@vscode |
使用@vscode 参与者可以就 VS Code 功能、设置和 VS Code 扩展 API 提出问题。示例: @vscode 如何启用自动换行? |
@工作区 |
使用@工作区 参与者可以就当前工作空间提问。示例: @workspace 是如何实现身份验证的? |
使用代理
当使用智能体时,您可以使用自然语言来指定高级任务,并让AI自主地推理请求、规划所需的工作,并将更改应用到您的代码库中。智能体使用代码编辑和工具调用的组合来完成您指定的任务。在处理您的请求时,它会监控编辑和工具的结果,并迭代地解决出现的任何问题。
| 行动 | 描述 |
|---|---|
| ⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) | 切换到在聊天视图中使用代理 |
| 工具 () | 配置在使用代理时可用的工具。从内置工具、MCP服务器和扩展提供的工具中进行选择。 |
| 自动批准工具 | 启用在使用代理时自动批准所有工具 ( chat.tools.autoApprove )。 |
| 自动批准终端命令 | 启用终端命令的自动批准 当使用代理时 ( chat.tools.terminal.autoApprove )。 |
| 多路转换器 | 配置MCP服务器以扩展代理功能和工具。 |
| 第三方代理 | 使用来自外部提供商的代理,如 Claude Agent(预览版)和 OpenAI Codex,与您的 Copilot 订阅一起使用。 |
| 克劳德特工(预览) | 启动一个由Anthropic的Claude Agent SDK支持的Claude Agent会话。使用/代理,/钩子,和/内存用于高级工作流程的斜线命令。 |
小贴士
- 在使用智能体时添加额外工具以扩展其功能。
- 配置自定义代理以定义代理应如何操作,例如实现只读规划模式。
- 定义自定义指令以指导智能体如何生成和组织代码。
- 尝试第三方代理,如Claude Code或OpenAI Codex,以获得替代的代理编码体验。
规划
使用 计划代理 在 VS Code 聊天中在开始复杂的编码任务之前创建详细的实施计划。将批准的计划交给实施代理以开始编码。
| 行动 | 描述 |
|---|---|
| 计划代理 | 选择 计划 代理从代理下拉菜单中或使用 /计划斜线命令用于为复杂的编码任务创建详细的实施计划。 |
| 待办事项清单 | 查看待办事项列表以跟踪复杂任务的进展情况。启用此功能设置(聊天工具待办事项显示小部件)设置。 |
定制您的聊天体验
定制您的聊天体验,以生成符合您的编码风格、工具和开发人员工作流程的响应。有几种方法可以在 VS Code 中定制您的聊天体验:
-
自定义指令:定义生成代码、进行代码审查或生成提交信息等任务的通用指南或规则。自定义指令描述了 AI 应该操作的条件(如何完成一项任务)。
-
可重复使用的提示文件:定义可重复使用的提示以执行常见任务,例如生成代码或进行代码审查。提示文件是独立的提示,可以直接在聊天中运行。它们描述了要执行的任务(应该做什么)。
-
定制代理:定义聊天的运作方式、可以使用的工具以及如何与代码库互动。每个聊天提示都在代理的范围内运行,无需为每个请求配置工具和说明。
小贴士
- 定义针对每种语言的特定指令,以获得更准确的生成代码。
- 将您的说明存储在您的工作区中,以便轻松与您的团队分享。
- 定义可重用的提示文件以完成常见任务,从而节省时间并帮助团队成员快速上手。
编辑 AI 功能
在编辑器中编码时,您可以使用 Copilot 生成实时建议。调用内联聊天以向 Copilot 提问并获得帮助,同时保持编码流程。例如,要求 Copilot 为函数或方法生成单元测试。获取有关 内联建议 和 内联聊天 的更多信息。
| 行动 | 描述 |
|---|---|
| 内联建议 | 开始在编辑器中输入,获取符合你编码风格的实时建议,同时考虑你现有的代码。 |
| 代码注释 | 通过在代码注释中编写指令来提供内联建议提示。 示例: # 编写一个计算器类,包含用于加法、减法和乘法的方法。使用静态方法。 |
| ⌘I (Windows, Linux Ctrl+I) | 启动编辑器内联聊天,直接从编辑器发送聊天请求。使用自然语言并参考聊天变量和斜线命令来提供上下文。 |
| F2 | 在重命名代码中的符号时获得基于AI的建议。 |
| 上下文菜单操作 | 使用编辑器上下文菜单访问常见的AI操作,例如解释代码、生成测试、代码审查等。在编辑器中右键单击以打开上下文菜单并选择生成代码。 |
| 代码操作(灯泡) | 在编辑器中选择代码操作(灯泡),以修复代码中的 linting 或编译错误。 |
小贴士
- 使用有意义的方法或函数名称,以更快获得更好的内联建议。
- 选择一个代码块来定义你的内联聊天提示,或者通过附加文件或符号附加相关上下文。
- 使用编辑器上下文菜单选项,直接从编辑器中访问常见的基于AI的强大操作。
源代码控制和问题
使用AI分析您的提交和拉取请求的变化,并提供提交信息和拉取请求描述的建议。
| 行动 | 描述 |
|---|---|
#更改 |
将当前源代码控制更改添加到聊天提示中的上下文中。 |
| 提交作为上下文 | 将源代码历史记录中的提交添加到聊天提示的上下文中。 |
| 提交信息 | 为当前源代码控制提交中的更改生成提交信息。 |
| 合并冲突(实验性) | Pytorch中文使用AI解决Git合并冲突. |
| 拉取请求描述 | 生成一个与您的拉取请求中的更改相对应的拉取请求标题和描述。 |
@github |
使用@github 参与聊天以询问 issues、pull requests 及更多关于你的仓库中的内容。获取更多关于 可用的 GitHub 技能 的信息。示例: @github 我所有的未合并的PR有哪些?,@github 请给我显示@dancing-mona最近合并的PR。 |
审查代码(实验性)
使用AI快速浏览代码块或对工作区中未提交的更改进行代码审查。审查反馈会显示在编辑器中的注释中,您可以应用这些建议。
| 行动 | 描述 |
|---|---|
| 评论选择 (预览) | 选择一段代码,然后选择生成代码 > 审查 从编辑器上下文菜单中进行快速审查。 |
| 代码审查 | 选择源代码管理视图中的代码审查按钮,以对所有未提交的更改进行更深入的审查。 |
搜索和设置
在搜索视图中获取语义相关的搜索结果,或在设置编辑器中帮助搜索设置。
| 行动 | 描述 |
|---|---|
| 设置搜索 | 在设置编辑器中包含语义搜索结果 工作台设置显示AI搜索切换按钮 )。 |
| 语义搜索(预览) | 在搜索视图中包含语义搜索结果 搜索.搜索视图.语义搜索行为 )。 |
生成测试
VS Code 可以通过在聊天中使用斜线命令来为代码库中的函数和方法生成测试。斜线命令是用于常见任务的简写符号,您可以在聊天提示中使用。输入输入:/接着输入命令名称来使用斜线命令。
| 行动 | 描述 |
|---|---|
/测试 |
为编辑器中的所有方法和函数或仅选择的方法和函数生成测试。生成的测试将附加到现有的测试文件中或创建一个新的测试文件。 |
/设置测试 |
获取有关为您的代码设置测试框架的帮助。获取相关测试框架的推荐、设置和配置步骤的建议,以及 VS Code 测试扩展的建议。 |
/修复测试失败 |
请向Copilot询问如何修复失败的测试的建议。 |
| 测试覆盖(实验性) | 为尚未被测试覆盖的函数和方法生成测试。获取更多信息. |
小贴士
- 提供有关要使用的测试框架或库的详细信息。
调试和修复问题
使用 Copilot 来帮助修复编码问题,并在 VS Code 中获取配置和启动调试会话的帮助。
| 行动 | 描述 |
|---|---|
/修复 |
请向 Copilot 询问如何修复代码块或如何解决代码中的任何编译器或静态代码分析错误的建议。例如,帮助修复未解析的 Node.js 包名称。 |
/修复测试失败 |
请向Copilot询问如何修复失败的测试的建议。 |
/开始调试 (实验性) |
生成一个launch.json 调试配置文件和 从聊天视图启动调试会话。 |
Copilot-调试命令 |
终端命令帮助你调试你的程序。在运行命令前加上调试命令以开始调试会话(例如,Copilot调试 pythonfoo.py)。 |
小贴士
- 提供有关您需要的修复类型的附加信息,例如优化内存消耗或性能。
- 在编辑器中留意Copilot代码操作,这些操作会提示修复代码中问题的建议。
构建新项目
Copilot可以帮你通过生成项目结构的架子来创建一个新项目,或者根据你的需求生成一个笔记本。
| 行动 | 描述 |
|---|---|
| Agent | 使用智能体 并使用自然语言提示来创建一个新项目或文件。例如,创建一个轻盈的网页应用程序来跟踪我的任务输入:. |
/新 |
使用/新 在聊天视图中使用命令来生成新的项目或文件。使用自然语言描述您需要的项目/文件类型,并在创建之前预览生成的内容。示例: 使用 typescript 和 svelte 新建 Express 应用程序 |
/新建笔记本 |
使用/新建笔记本 在聊天视图中输入命令,根据您的需求生成一个新的Jupyter笔记本。使用自然语言描述笔记本应包含的内容。示例: 获取人口普查数据并使用Seaborn预览关键见解的新笔记本输入:. |
终端
获取有关 shell 命令以及在终端中运行命令时如何解决错误的帮助。
| 行动 | 描述 |
|---|---|
| ⌘I (Windows, Linux Ctrl+I) | 启动终端内联聊天,使用自然语言来询问有关 shell 命令和终端的信息。 示例: 这台机器有多少个核心? |
@终端 |
使用@终端 在聊天视图中参与讨论,向集成终端或 shell 命令提问。示例: @terminal 列出此工作区中的前5个最大文件 |
@终端 /解释 |
使用/解释 在聊天视图中使用命令来从终端解释某些内容。示例: @terminal /解释 top shell 命令 |
Python 和 notebook 支持
您可以在原生Python REPL和Jupyter notebook中使用聊天功能来帮助您完成Python编程任务。
| 行动 | 描述 |
|---|---|
| 生成 ⌘I (Windows, Linux Ctrl+I) |
在笔记本中启动内联聊天以生成代码块或Markdown块。 |
# |
在你的聊天提示中附加来自Jupyter内核的变量,以获得更相关的响应。 |
| 原生REPL + ⌘I (Windows, Linux Ctrl+I) | 在原生 Python REPL 中启动内联聊天并运行生成的命令。 |
| ⌃⌘I (Windows, Linux Ctrl+Alt+I) | 打开聊天视图并使用代理进行笔记本编辑。 |
/新建笔记本 |
使用/新建笔记本 在聊天视图中输入命令,根据您的需求生成一个新的Jupyter笔记本。使用自然语言描述笔记本应包含的内容。示例: 获取人口普查数据并使用Seaborn预览关键见解的新笔记本输入:. |