速查表
Visual Studio Code 中的 GitHub Copilot 提供 AI 支持的功能,可帮助你更快、更轻松地编写代码。此备忘单简要概述了 Visual Studio Code 中 GitHub Copilot 的功能。
您可以通过聊天视图、直接在编辑器中、从集成终端以及通过 VS Code 用户界面中的 AI 驱动的增强功能访问 VS Code 中的 GitHub Copilot。
该团队不断致力于改进 VS Code 中的 Copilot 并添加新功能。
与 GitHub Copilot 聊天
使用自然语言与 GitHub Copilot 聊天并获取有关编码任务的帮助。例如,要求 Copilot 解释一段代码或一个编程概念。
行动 | 描述 |
---|---|
Ctrl+Alt+I 组合键 | 打开聊天视图,然后使用自然语言开始与 Copilot 的聊天对话。 |
Ctrl+Shift+I 组合键 | 打开 Copilot Edits 视图并跨多个文件启动代码编辑会话。 |
Ctrl+Shift+Alt+L 组合键 | 打开快速聊天并向 Copilot 提出一个快速问题。 |
Ctrl + I 组合键 | 启动内联聊天,直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 发出指令。 |
在聊天中键入 @ 或选择查看聊天参与者列表,这些参与者是可以在特定领域为您提供帮助的领域专家。扩展还可以提供其他参与者。例: @workspace how is auth implemented? | |
参与者检测 | Copilot Chat 还可以自动将您的问题路由到相应的参与者。 |
/ | 调用 slash 命令以提示输入常用操作,例如解释代码块、生成测试或文档。 |
/explain | 让 Copilot 解释一段代码或一个编程概念。 |
在 Chat (聊天) 视图中选择此图标可访问您的聊天会话历史记录。 | |
使用语音 (语音聊天) 输入聊天提示。聊天响应被大声读出。 |
技巧使用 / 命令和 @ 参与者来获得更准确和相关的答案。具体,保持简单,并提出后续问题以获得最佳结果。通过将文件、符号或选择附加到聊天提示来提供上下文。
代码编辑会话 (预览版)
使用 Copilot Edits 启动代码编辑会话,您可以在其中快速迭代 AI 生成的代码编辑,这些代码编辑直接应用于工作区中的多个文件。
行动 | 描述 |
---|---|
Ctrl+Shift+I 组合键 | 打开 Copilot Edits 视图并跨多个文件启动代码编辑会话。 |
启动新的编辑会话。 | |
接受 | 接受所有当前编辑。 |
丢弃 | 放弃所有当前编辑。 |
在多文件差异编辑器中查看所有编辑。 | |
撤消上次编辑。 | |
重做上次编辑。 | |
添加文件... | 将文件附加到工作集。 |
技巧将要对其进行编辑的所有文件添加到工作集中。具体而准确地说明您希望 Copilot Edits 进行的更改。如果您有较大的任务,请将其分解为较小的任务并经常迭代。
从聊天中生成代码
Copilot 可以生成代码块以响应您的聊天提示。在项目中快速应用生成的代码或将其插入到新文件中。例如,要求 Copilot 优化代码中的算法。
行动 | 描述 |
---|---|
在活动编辑器中智能应用生成的代码块。 | |
在光标处插入生成的代码块。 | |
将生成的代码块复制到剪贴板。 | |
将生成的代码块作为 shell 命令插入终端中。 | |
插入到新文件中 | 将生成的代码块插入到新文件中。 |
技巧提供有关要使用的框架或库的详细信息。考虑创建自定义代码生成指令。
将上下文附加到提示
当您向 Copilot 发送聊天提示时,您可以附加上下文以帮助 Copilot 更好地理解您的问题。例如,将当前编辑器选择、文件或元件添加到聊天提示中。
行动 | 描述 |
---|---|
(Ctrl+/) | 打开 Quick Pick (快速选择) 以选择聊天提示的相关上下文。从工作区文件、符号、当前编辑器选择或可见内容、终端选择或上次运行命令或 VS Code API 中进行选择。 |
启用/禁用自动将打开的编辑器附加为上下文。 | |
#codebase | Context variable:将相关的工作区内容作为上下文添加到您的提示中。 |
#editor | Context variable:将活动编辑器的可见内容添加为提示的上下文。 |
#selection | Context variable:将当前编辑器选择作为上下文添加到提示中。 |
#terminalSelection | Context variable:将当前终端选择作为上下文添加到您的聊天提示符中。 |
#terminalLastCommand | Context 变量:将 last run terminal 命令作为 context 添加到您的聊天提示符中。 |
#VSCodeAPI | Context 变量:将 VS Code API 作为上下文添加到您的提示中,以询问与 VS Code 扩展开发相关的问题。 |
#file | 打开 Quick Pick 以从工作区中选择一个文件,并将其添加为提示的上下文。 |
#<文件名> | 键入 # ,后跟文件名,以获取工作区文件的文件名建议并附加为上下文。 |
拖放文件 | 将文件或编辑器拖放到聊天室中,以将文件作为上下文附加。 |
最近使用的文件 | 在聊天提示中自动包含最近打开和编辑的文件。 |
技巧使用 Quick Pick 中的向右箭头键快速添加多个文件作为上下文通过选择代码或提及聊天变量来显式包含相关上下文查看聊天响应中使用的引用,以确保上下文相关
编辑器中的 Copilot
在编辑器中编码时,您可以使用 Copilot 在键入时生成代码完成。调用 Inline Chat 提出问题并从 Copilot 获得帮助,同时保持编码流程。例如,要求 Copilot 为函数或方法生成单元测试。
行动 | 描述 |
---|---|
代码完成 | 开始在编辑器中键入,Copilot 会提供与您的编码风格相匹配的代码建议,并考虑您的现有代码。 |
代码注释 | 通过在代码注释中编写说明,向 Copilot 提供代码完成提示。 例: # write a calculator class with methods for add, subtract, and multiply. Use static methods. |
Ctrl + I 组合键 | 启动内联聊天,直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 发出指令。 |
来自编辑器的提示 | 开始直接在代码中键入自然语言,Copilot 会检测到您不是在编写代码而是在编写提示,并将自动为您的提示启动内联聊天。 |
F2 | 在代码中重命名元件时获取 AI 支持的建议。 |
技巧使用有意义的方法或函数名称可以更快地获得更好的代码完成。选择一个代码块以限定 Inline Chat 提示的范围,或通过附加文件或符号来附加相关上下文。使用编辑器上下文菜单选项直接从编辑器访问常见的 Copilot 操作。
自定义 AI 代码生成
Copilot 可以生成与您的团队或项目的编码风格、工具和开发人员工作流程相匹配的响应,前提是它具有正确的上下文。您可以提供自定义说明来帮助 Copilot 适应您的偏好,这样您就不必在每次发出 Copilot 请求时都提供这些详细信息。这些自定义说明会自动添加到您的请求中。
行动 | 描述 |
---|---|
基于文件的说明(预览版) | 在工作区的 .gitHub/copilot-instructions.md 文件中定义用于代码生成的共享指令。这些通用指令是对您自己的个人代码生成指令的补充。 |
代码评审说明(预览版) | 定义使用 Copilot 在设置中查看编辑器选择或从文件导入的说明。您可以定义特定于语言的说明。 |
代码生成指令 | 在设置中定义使用 GitHub Copilot 生成代码或从文件导入的说明。您可以定义特定于语言的说明。 |
测试生成指令 | 在设置中定义使用 GitHub Copilot 生成测试或从文件导入的说明。您可以定义特定于语言的说明。 |
技巧定义特定于语言的指令,以便为每种语言生成更准确的代码。将您的说明存储在文件中,以便与您的团队和跨项目轻松共享。
评审代码 (预览版)
Copilot 可以对代码块进行快速审核,也可以对工作区中未提交的更改执行审核。审阅反馈在编辑器中显示为注释,您可以在其中应用建议。
行动 | 描述 |
---|---|
审阅和注释(预览版) | 选择一个代码块,然后从编辑器上下文菜单中选择 Copilot > Review and Comment,以便快速通过审核。 |
Copilot 代码审查 | 选择源代码控制视图中的 Copilot 代码审查按钮,以更深入地审查所有未提交的更改。加入候补名单。 |
生成测试
Copilot 可以为代码库中的函数和方法生成测试。
行动 | 描述 |
---|---|
/tests | 在编辑器中为所有或仅选定的方法和函数生成测试。生成的测试将附加到现有测试文件中,或者创建新的测试文件。 |
/setupTests | 获取有关为您的代码设置测试框架的帮助。获取有关相关测试框架的建议、设置和配置框架的步骤以及 VS Code 测试扩展的建议。 |
/fixTestFailure | 向 Copilot 询问有关如何修复失败测试的建议。 |
测试覆盖率 | 为测试尚未涵盖的函数和方法生成测试。 |
技巧提供有关要使用的测试框架或库的详细信息。
生成文档
为代码库中的函数和方法生成代码文档。
行动 | 描述 |
---|---|
/docs | 在编辑器中为所有或仅选定的方法和函数生成文档注释。 |
调试和修复问题
使用 Copilot 帮助解决编码问题,并获取有关在 VS Code 中配置和启动调试会话的帮助。
行动 | 描述 |
---|---|
/fix | 向 Copilot 询问有关如何修复代码块或如何解决代码中的任何编译器或 linting 错误的建议。例如,帮助修复未解析的 Node.js 包名称。 |
/fixTestFailure | 向 Copilot 询问有关如何修复失败测试的建议。 |
/startDebugging | 生成launch.json 调试配置文件并从 Chat (聊天) 视图启动调试会话。 |
技巧提供有关所需修复类型的其他信息,例如优化内存消耗或性能。注意编辑器中的 Copilot 代码操作,这些操作指示修复代码中问题的建议。
搭建新项目的基架
Copilot 可以通过生成项目结构的基架来帮助您创建新项目,或根据您的要求生成笔记本。
行动 | 描述 |
---|---|
/new | 在 Chat (聊天) 视图中使用 /new 命令搭建新项目或新文件的基架。使用自然语言描述您需要的项目/文件类型,并在创建之前预览基架内容。例: /new Express app using typescript and svelte |
/newNotebook | 在 Chat (聊天) 视图中使用 /newNotebook 命令根据您的要求生成新的 Jupyter 笔记本。使用自然语言描述笔记本应包含的内容。示例: /newNotebook get census data and preview key insights with Seaborn . |
源代码管理和问题
Copilot 可以分析提交和拉取请求中的更改,并为提交消息和拉取请求描述提供建议。
行动 | 描述 |
---|---|
提交 | 为源代码管理中的当前更改生成提交消息。 |
拉取请求 | 生成与拉取请求中的更改相对应的拉取请求标题和描述。 |
@github | 在聊天中使用 @github 参与者来询问存储库中的议题、拉取请求等。示例: @github What are all of the open PRs assigned to me? , @github Show me the recent merged pr's from @dancing-mona |
搜索
使用 Copilot 在搜索视图中获取更相关的搜索结果。
行动 | 描述 |
---|---|
语义搜索 | 在搜索视图中包括来自 Copilot 的语义相关的搜索结果。 |
终端
获取有关 shell 命令以及如何解决在终端中运行命令时出现错误的帮助。
行动 | 描述 |
---|---|
Ctrl + I 组合键 | 在终端中启动 Inline Chat,以使用自然语言快速获取并运行 shell 命令。 例: how many cores on this machine? |
使用 Copilot 修复 | 选择失败的 shell 命令上的图标,并获取有关如何解决该错误的建议。 |
使用 Copilot 进行解释 | 选择失败的 shell 命令上的图标,并获取有关命令失败原因的说明。 |
@terminal | 使用 Chat 视图中的 @terminal 参与者询问有关集成终端或 shell 命令的问题。例: @terminal list the 5 largest files in this workspace |
@terminal /explain | 使用 Chat (聊天) 视图中的 /explain 命令来解释终端中的某些内容。例: @terminal /explain top shell command |
Python 和 Notebook 支持
您可以使用 Copilot Chat 帮助您在原生 Python REPL 和 Jupyter 笔记本中完成 Python 编程任务。
行动 | 描述 |
---|---|
生成 Ctrl + I 组合键 | 在笔记本中启动 Inline Chat 以生成代码块或 Markdown 块。 |
# | 在聊天提示符中附加来自 Jupyter 内核的变量,以获得更相关的响应。 |
本机 REPL + Ctrl+I | 在本机 Python REPL 中启动 Inline Chat 并运行生成的命令。 |
VS Code 命令和 API
您可以使用 Copilot 获取有关 VS Code 功能、设置和 VS Code 扩展 API 的帮助。
行动 | 描述 |
---|---|
@vscode | 使用 @vscode 聊天参与者使用自然语言询问有关 VS Code 的问题。例: @vscode how to enable word wrapping? |
@vscode /runCommand | 将 /runCommand 与 @vscode 聊天参与者一起使用以运行 VS Code 命令。@vscode /runCommand enable developer mode |
@vscode /search | 对 @vscode 聊天参与者使用 /search 生成 VS Code 搜索。例: @vscode /search python files without imports |
技巧如果要询问 VS Code 扩展 API,请使用 #vscodeAPI chat 变量。