🚀 在 VS Code 中

VS Code 中 GitHub Copilot 速查表

Visual Studio Code 中的 GitHub Copilot 提供了 AI 驱动的功能,可帮助您更快、更轻松地编写代码。本速查表简要概述了 Visual Studio Code 中 GitHub Copilot 的功能。

您可以通过“聊天”视图、直接在编辑器中、从集成终端以及通过 VS Code 用户界面中 AI 驱动的增强功能来访问 VS Code 中的 GitHub Copilot。

提示

如果您还没有 Copilot 订阅,可以通过注册 Copilot 免费计划免费使用 Copilot,并获得每月有限的补全和聊天互动次数。

团队正在不断改进 VS Code 中的 Copilot 并添加新功能。某些功能仍处于实验阶段。请试用这些功能,并在我们的问题反馈中分享您的反馈。

与 GitHub Copilot 聊天

使用自然语言与 GitHub Copilot 聊天,并获得编码任务方面的帮助。例如,让 Copilot 解释一段代码或一个编程概念。获取有关Copilot 聊天的更多信息。

操作 描述
⌃⌘I (Windows, Linux Ctrl+Alt+I) 打开“聊天”视图,并使用自然语言开始与 Copilot 的聊天对话。
⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) 打开“Copilot 编辑”视图,并开始跨多个文件的代码编辑会话。
⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L) 打开“快速聊天”并向 Copilot 提出快速问题。
⌘I (Windows, Linux Ctrl+I) 启动“内联聊天”,直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 发出指令。
在聊天中键入 @ 或选择 以查看聊天参与者列表,这些参与者是在特定领域可以帮助您的领域专家。扩展程序也可以贡献其他参与者。
示例:@workspace 身份验证是如何实现的?
参与者检测(实验性) Copilot 聊天还可以自动将您的问题路由到合适的参与者。 获取更多信息
/ 调用斜杠命令以提示常用操作,例如解释一段代码、生成测试或文档。
/explain 让 Copilot 解释一段代码或一个编程概念。
在“聊天”视图中选择此图标以访问您的聊天会话历史记录。
使用语音(语音聊天)输入聊天提示。聊天响应将被朗读出来。

提示

  • 使用 / 命令和 @ 参与者以获得更精确和相关的答案。
  • 要具体、保持简单,并提出后续问题以获得最佳结果。
  • 通过将文件、符号或选区附加到您的聊天提示来提供上下文。

代码编辑会话

使用 Copilot 编辑开始代码编辑会话,您可以在其中快速迭代 AI 生成的代码编辑,这些编辑将直接应用于工作区中的多个文件。

操作 描述
⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) 打开“Copilot 编辑”视图,并开始跨多个文件的代码编辑会话。
开始新的编辑会话。
编辑/代理模式 在 Copilot 编辑的编辑模式和代理模式(预览)之间切换。
添加文件... 附加文件作为编辑的上下文。
接受 接受所有当前编辑。
放弃 放弃所有当前编辑。
在多文件差异编辑器中查看所有编辑。
撤消上次编辑。
重做上次编辑。
启用/禁用将活动编辑器作为上下文附加。

提示

  • 添加您想要获取编辑的所有文件到您的提示中。
  • 对于您希望 Copilot 编辑进行的更改,请具体而精确。
  • 如果您有更大的任务,请将其分解为较小的任务并经常迭代。

从聊天生成代码

Copilot 可以生成代码块以响应您的聊天提示。在您的项目中快速应用生成的代码或将其插入新文件中。例如,让 Copilot 优化您代码中的算法。

操作 描述
在活动编辑器中智能应用生成的代码块。
在光标处插入生成的代码块。
将生成的代码块复制到剪贴板。
将生成的代码块作为 shell 命令插入到终端中。
插入到新文件 将生成的代码块插入到新文件中。

提示

将上下文附加到您的提示

当您向 Copilot 发送聊天提示时,您可以附加上下文以帮助 Copilot 更好地理解您的问题。例如,将当前编辑器选区、文件或符号添加到您的聊天提示中。获取有关使用 Copilot 的最佳实践的更多信息。

操作 描述
附加 (⌘/ (Windows, Linux Ctrl+/)) 打开“快速选择”以选择与您的聊天提示相关的上下文。从不同的上下文类型中选择,例如工作区文件、符号、当前编辑器选区、终端选区等。
启用/禁用将活动编辑器作为上下文附加。
提示... (实验性) 将可重用的提示指令添加到您的请求中。获取有关提示文件的更多信息。
拖放文件 将文件或编辑器选项卡拖放到聊天中以将文件附加为上下文。
拖放文件夹 将文件夹拖放到聊天中以将文件夹内的文件附加为上下文。
拖放问题 从“问题”面板中拖放项目以将其附加为上下文。
最近的文件(实验性) 自动将最近打开和编辑的文件包含在您的聊天提示中。 获取更多信息

聊天变量

在您的聊天提示中使用聊天变量来引用与您的问题相关的上下文。

聊天变量 描述
#changes 源代码管理更改列表。
#codebase 将相关的工作区内容作为上下文添加到您的提示中。
#editor 将活动编辑器的可见内容作为您提示的上下文添加。
#file 打开“快速选择”以从您的工作区中选择文件,并将其作为您提示的上下文添加。
#<filename> 键入 #,后跟文件名,以获取工作区文件的文件名建议并附加为上下文。
#folder 键入 #folder:,后跟文件夹名称,以从您的工作区中选择文件夹,并将其作为您提示的上下文添加。添加文件夹会将文件夹内的所有文件都作为上下文添加。
#problems 从“问题”面板中添加工作区问题和错误作为上下文。在修复代码或调试时很有用。
#selection 将当前编辑器选区作为您提示的上下文添加。
#sym 打开“快速选择”以从您的工作区中选择符号,并将其作为您提示的上下文添加。
#<symbol> 键入 #,后跟符号名称,以获取工作区文件的符号建议并附加为上下文。
#terminalSelection 将当前终端选区作为您聊天提示的上下文添加。
#terminalLastCommand 将上次运行的终端命令作为您聊天提示的上下文添加。
#testFailure 添加测试失败信息作为上下文。在运行和诊断测试时很有用。
#VSCodeAPI 将 VS Code API 作为上下文添加到您的提示中,以提出与 VS Code 扩展开发相关的问题。

编辑器中的 Copilot

当您在编辑器中编码时,可以使用 Copilot 在您键入时生成代码补全。调用“内联聊天”以向 Copilot 提问并获得帮助,同时保持编码流程的流畅性。例如,让 Copilot 为函数或方法生成单元测试。获取有关代码补全内联聊天的更多信息。

操作 描述
代码补全 在编辑器中开始键入,Copilot 会提供与您的编码风格匹配并考虑您现有代码的代码建议。
代码注释 通过在代码注释中编写指令,向 Copilot 提供代码补全提示。
示例:# 编写一个计算器类,其中包含用于加法、减法和乘法的方法。使用静态方法。
下一个编辑建议(预览) 使用 Copilot 下一个编辑建议预测您的下一个代码编辑。使用 github.copilot.nextEditSuggestions.enabled 设置启用 Copilot NES。了解如何开始使用 Copilot NES
⌘I (Windows, Linux Ctrl+I) 启动“内联聊天”,直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 发出指令。
来自编辑器的提示(实验性) 直接在代码中开始键入自然语言,Copilot 会检测到您不是在编写代码而是在提示,并将自动为您的提示启动“内联聊天”。
F2 在重命名代码中的符号时获取 AI 驱动的建议。

提示

  • 使用有意义的方法或函数名称以更快地获得更好的代码补全。
  • 选择代码块以限定您的“内联聊天”提示的范围,或通过附加文件或符号来附加相关上下文。
  • 使用编辑器上下文菜单选项直接从编辑器访问常用的 Copilot 操作。

自定义 AI 代码生成

定义自定义指令,以帮助 Copilot 生成代码或审查与您的团队或项目的编码风格、工具和开发者工作流程相匹配的代码。

使用可重用的提示文件,您可以在 Markdown 文件 (*.prompt.md) 中指定常用的提示指令和相关内容,然后可以在您的聊天提示中重复使用。

操作 描述
基于文件的指令 在工作区的 .github/copilot-instructions.md 文件中定义代码生成的共享指令。这些常用指令是对您自己的个人代码生成指令的补充。
代码审查指令(预览) 定义在设置中使用 Copilot 审查编辑器选区或从文件导入的指令。您可以定义特定于语言的指令。
代码生成指令(实验性) 定义在设置中使用 GitHub Copilot 进行代码生成的指令或从文件导入的指令。您可以定义特定于语言的指令。
测试生成指令(实验性) 定义在设置中使用 GitHub Copilot 进行测试生成的指令或从文件导入的指令。您可以定义特定于语言的指令。
提交消息生成指令(实验性) 定义在设置中使用 GitHub Copilot 生成提交消息的指令或从文件导入的指令。您可以定义特定于语言的指令。
拉取请求标题和描述生成指令(实验性) 定义在设置中使用 GitHub Copilot 生成拉取请求标题和描述的指令或从文件导入的指令。您可以定义特定于语言的指令。
可重用的提示文件(预览) 在 Markdown 文件中使用附加上下文定义可重用的提示指令,并将它们用于您的聊天提示。了解如何创建可重用的提示文件

提示

  • 定义特定于语言的指令,以便为每种语言获得更准确的生成代码。
  • 将您的指令存储在文件中,以便轻松地与您的团队和跨项目共享它们。

代码审查(实验性)

Copilot 可以对代码块进行快速审查,或对工作区中未提交的更改执行审查。审查反馈将显示为编辑器中的注释,您可以在其中应用建议。

操作 描述
审查和注释(预览) 选择一个代码块,然后从编辑器上下文菜单中选择“Copilot”>“审查和注释”以进行快速审查。
Copilot 代码审查 在“源代码管理”视图中选择“Copilot 代码审查”按钮,以对所有未提交的更改进行更深入的审查。加入等候名单

生成测试

Copilot 可以为代码库中的函数和方法生成测试。获取有关“聊天”中的斜杠命令的更多信息。

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

提示

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

生成文档

为代码库中的函数和方法生成代码文档。获取有关“聊天”中的斜杠命令的更多信息。

操作 描述
/docs 为编辑器中的所有或仅选定的方法和函数生成文档注释。

调试和修复问题

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

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

提示

  • 提供有关您需要的修复类型的其他信息,例如优化内存消耗或性能。
  • 留意编辑器中的 Copilot 代码操作,这些操作指示修复代码中问题的建议。

搭建新项目

Copilot 可以通过生成项目结构的脚手架或根据您的要求生成笔记本,来帮助您创建新项目。

操作 描述
/new 在“聊天”视图中使用 /new 命令来搭建新项目或新文件。使用自然语言描述您需要的项目/文件类型,并在创建之前预览搭建的内容。
示例:/new 使用 typescript 和 svelte 的 Express 应用程序
/newNotebook 在“聊天”视图中使用 /newNotebook 命令来根据您的要求生成新的 Jupyter 笔记本。使用自然语言描述笔记本应包含的内容。
示例:/newNotebook 获取人口普查数据并使用 Seaborn 预览关键见解。

源代码管理和问题

Copilot 可以分析您的提交和拉取请求中的更改,并为提交消息和拉取请求描述提供建议。

操作 描述
提交 为源代码管理提交中的当前更改生成提交消息。
拉取请求 生成与您的拉取请求中的更改相对应的拉取请求标题和描述。
@github 在聊天中使用 @github 参与者来询问有关您存储库中的问题、拉取请求等。获取有关可用 GitHub 技能的更多信息。
示例:@github 分配给我的所有未解决的 PR 是什么?, @github 显示来自 @dancing-mona 的最近合并的 pr

使用 Copilot 在“搜索”视图中获得更相关的搜索结果。

操作 描述
语义搜索 在“搜索”视图中包含来自 Copilot 的语义相关的搜索结果。

终端

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

操作 描述
⌘I (Windows, Linux Ctrl+I) 在终端内启动“内联聊天”以使用自然语言快速获取和运行 shell 命令。
示例:这台机器上有多少个核心?

使用 Copilot 修复
选择失败的 shell 命令上的 图标,并获取有关如何解决错误的建议。

使用 Copilot 解释
选择失败的 shell 命令上的 图标,并获取有关命令失败原因的解释。
@terminal 在“聊天”视图中使用 @terminal 参与者来询问有关集成终端或 shell 命令的问题。
示例:@terminal 列出此工作区中 5 个最大的文件
@terminal /explain 在“聊天”视图中使用 /explain 命令来解释终端中的某些内容。
示例:@terminal /explain top shell 命令

Python 和 Notebook 支持

您可以使用 Copilot 聊天来帮助您在 Native Python REPL 和 Jupyter 笔记本中执行 Python 编程任务。

操作 描述
生成
⌘I (Windows, Linux Ctrl+I)
在笔记本中启动“内联聊天”以生成代码块或 Markdown 块。
# 在您的聊天提示中附加来自 Jupyter 内核的变量,以获得更相关的响应。
Native REPL + ⌘I (Windows, Linux Ctrl+I) 在 Native Python REPL 中启动“内联聊天”并运行生成的命令。

VS Code 命令和 API

您可以使用 Copilot 获取有关 VS Code 功能、设置和 VS Code 扩展 API 的帮助。获取有关聊天参与者的更多信息。

操作 描述
@vscode 使用 @vscode 聊天参与者通过使用自然语言来询问有关 VS Code 的问题。
示例:@vscode 如何启用自动换行?
@vscode /runCommand /runCommand@vscode 聊天参与者一起使用以运行 VS Code 命令。
@vscode /runCommand enable developer mode
@vscode /search /search@vscode 聊天参与者一起使用以生成 VS Code 搜索。
示例:@vscode /search 没有导入的 python 文件

提示

  • 如果您要询问有关 VS Code 扩展 API 的问题,请使用 #vscodeAPI 聊天变量。

后续步骤