VS Code 中 GitHub Copilot 速查表
Visual Studio Code 中的 GitHub Copilot 提供了 AI 驱动的功能,可帮助你更快、更轻松地编写代码。此速查表快速概述了 Visual Studio Code 中 GitHub Copilot 的功能。
你可以在 VS Code 中通过“聊天”视图、直接在编辑器中、从集成终端以及通过 VS Code 用户界面中的 AI 驱动增强功能访问 GitHub 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 优化你代码中的算法。
操作 | 描述 |
---|---|
在活动编辑器中智能应用生成的代码块。 | |
将生成的代码块插入光标处。 | |
将生成的代码块复制到剪贴板。 | |
将生成的代码块作为 shell 命令插入终端。 | |
插入到新文件 |
将生成的代码块插入新文件中。 |
提示
- 提供有关要使用的框架或库的详细信息。
- 考虑创建自定义代码生成指令。
将上下文附加到你的提示
当你向 Copilot 发送聊天提示时,你可以附加上下文以帮助 Copilot 更好地理解你的问题。例如,将当前编辑器选择、文件或符号添加到你的聊天提示。获取有关 使用 Copilot 的最佳实践的更多信息。
操作 | 描述 |
---|---|
(⌘/(Windows、Linux Ctrl+/)) | 打开“快速选择”以选择聊天提示的相关上下文。从工作区文件、符号、当前编辑器选择或可见内容、终端选择或上次运行的命令或 VS Code API 中进行选择。 |
启用/禁用自动附加打开的编辑器作为上下文。 | |
#codebase |
上下文变量:将相关工作区内容作为上下文添加到你的提示。 |
#editor |
上下文变量:将活动编辑器的可见内容作为提示的上下文添加。 |
#selection |
上下文变量:将当前编辑器选择作为提示的上下文添加。 |
#terminalSelection |
上下文变量:将当前终端选择作为聊天提示的上下文添加。 |
#terminalLastCommand |
上下文变量:将上次运行的终端命令作为上下文添加到您的聊天提示中。 |
#VSCodeAPI |
上下文变量:将 VS Code API 作为上下文添加到您的提示中,以询问与 VS Code 扩展开发相关的问题。 |
#file |
打开一个快速选择器,从您的工作区选择一个文件并将其添加为提示的上下文。 |
#<文件名> |
键入 # ,后跟文件名,以获取工作区文件的文件名建议并附加为上下文。 |
#sym |
打开一个快速选择器,从您的工作区选择一个符号并将其添加为提示的上下文。 |
#<符号> |
键入 # ,后跟符号名称,以获取工作区文件的符号建议并附加为上下文。 |
拖放文件 | 将文件或编辑器拖放到聊天中,以将文件附加为上下文。 |
最近使用的文件 | 在您的聊天提示中自动包含最近打开和编辑的文件。 了解更多信息。 |
提示
- 通过在快速选择器中使用右箭头键,快速添加多个文件作为上下文
- 通过选择代码或提及聊天变量,显式包含相关上下文
- 查看聊天回复中使用的引用,以确保上下文相关
编辑器中的 Copilot
当您在编辑器中编码时,您可以使用 Copilot 在您键入时生成代码补全。调用内联聊天以向 Copilot 提问并获得帮助,同时保持编码流程。例如,要求 Copilot 为函数或方法生成单元测试。获取有关 代码补全 和 内联聊天 的更多信息。
操作 | 描述 |
---|---|
代码补全 | 在编辑器中开始键入,Copilot 会提供与您的编码风格匹配并考虑您现有代码的代码建议。 |
代码注释 | 通过在代码注释中编写指令,为 Copilot 提供代码补全提示。 示例: # 编写一个计算器类,其中包含用于加、减和乘法的方法。使用静态方法。 |
⌘I(Windows、Linux Ctrl+I) | 启动内联聊天,直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 发出指令。 |
从编辑器提示 | 直接在代码中开始键入自然语言,Copilot 会检测到您不是在编写代码而是提示,并将自动为您的提示启动内联聊天。 |
F2 | 在代码中重命名符号时获取 AI 驱动的建议。 |
提示
- 使用有意义的方法或函数名称,以便更快地获得更好的代码补全。
- 选择代码块以限定您的内联聊天提示范围,或通过附加文件或符号来附加相关上下文。
- 使用编辑器上下文菜单选项,直接从编辑器访问常见的 Copilot 操作。
自定义 AI 代码生成
Copilot 可以生成与您的团队或项目的编码风格、工具和开发者工作流程相匹配的响应,前提是它具有正确的上下文。您可以提供自定义指令来帮助 Copilot 适应您的偏好,这样您就不必每次发出 Copilot 请求时都提供这些详细信息。这些自定义指令会自动添加到您的请求中。获取有关 在 VS Code 中自定义 Copilot 的更多信息。
操作 | 描述 |
---|---|
基于文件的指令 (预览) | 在您的工作区中的 .gitHub/copilot-instructions.md 文件中定义代码生成的共享指令。这些通用指令补充了您自己的个人代码生成指令。 |
代码审查指令 (预览) | 定义在设置中使用 Copilot 审查编辑器选区或从文件导入的指令。您可以定义特定于语言的指令。 |
代码生成指令 | 定义在设置中使用 GitHub Copilot 进行代码生成的指令,或从文件导入。您可以定义特定于语言的指令。 |
测试生成指令 | 定义在设置中使用 GitHub Copilot 进行测试生成的指令,或从文件导入。您可以定义特定于语言的指令。 |
提交消息生成指令 | 定义在设置中使用 GitHub Copilot 进行提交消息生成的指令,或从文件导入。您可以定义特定于语言的指令。 |
提示
- 定义特定于语言的指令,以便为每种语言获得更准确的生成代码。
- 将您的指令存储在文件中,以便轻松与您的团队和跨项目共享它们。
复查代码(预览版)
Copilot 可以对代码块进行快速审查,或对您工作区中未提交的更改执行审查。审查反馈以注释的形式显示在编辑器中,您可以在其中应用建议。
操作 | 描述 |
---|---|
审查和注释 (预览) | 选择一个代码块,然后从编辑器上下文菜单中选择 Copilot > 审查和注释 以进行快速审查。 |
Copilot 代码审查 | 在源代码管理视图中选择 Copilot 代码审查 按钮,以更深入地审查所有未提交的更改。加入 候补名单。 |
生成测试
Copilot 可以为代码库中的函数和方法生成测试。获取有关 聊天中的斜杠命令 的更多信息。
操作 | 描述 |
---|---|
/tests |
为编辑器中的所有或仅选定的方法和函数生成测试。生成的测试将附加到现有测试文件中,或者创建一个新的测试文件。 |
/setupTests |
获取有关为您的代码设置测试框架的帮助。获取有关相关测试框架的建议、设置和配置步骤以及 VS Code 测试扩展的建议。 |
/fixTestFailure |
向 Copilot 询问有关如何修复失败测试的建议。 |
测试覆盖率 | 为尚未被测试覆盖的函数和方法生成测试。 了解更多信息。 |
提示
- 提供有关要使用的测试框架或库的详细信息。
生成文档
为代码库中的函数和方法生成代码文档。获取有关 聊天中的斜杠命令 的更多信息。
操作 | 描述 |
---|---|
/docs |
为编辑器中的所有或仅选定的方法和函数生成文档注释。 |
调试和修复问题
使用 Copilot 来帮助修复编码问题,并获得有关在 VS Code 中配置和启动调试会话的帮助。
操作 | 描述 |
---|---|
/fix |
向 Copilot 询问有关如何修复代码块或如何解决代码中的任何编译器或 linting 错误的建议。例如,帮助修复未解析的 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 启用开发者模式 |
@vscode /search |
使用 /search 和 @vscode 聊天参与者来生成 VS Code 搜索。示例: @vscode /search 查找没有导入的 Python 文件 |
提示
- 如果您询问关于 VS Code 扩展 API 的问题,请使用
#vscodeAPI
聊天变量。