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) | 打开聊天视图。 |
⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L) | 打开快速聊天并向 Copilot 询问一个快速问题。 |
⌘I (Windows, Linux Ctrl+I) | 启动内联聊天可直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 提供指令。 |
⌘. (Windows, Linux Ctrl+.) | 在聊天视图中切换不同的聊天模式。 |
添加上下文... |
将不同类型的上下文附加到您的聊天提示。 |
/explain |
要求 Copilot 解释一段代码或一个编程概念。 |
访问您的聊天会话历史记录。 | |
使用语音(语音聊天)输入聊天提示。聊天响应会朗读出来。 |
提示
- 使用
/
命令和@
参与者来获得更精确和相关的答案。- 具体化、保持简洁并提出后续问题以获得最佳结果。
- 通过将文件、符号或选定内容附加到您的聊天提示来提供上下文。
- 选择合适的聊天模式:询问模式、编辑模式或代理模式。
从聊天生成代码
Copilot 可以根据您的聊天提示生成代码块。在您的项目中快速应用生成的代码或将其插入新文件。例如,要求 Copilot 优化您代码中的算法。
操作 | 说明 |
---|---|
在活动编辑器中智能应用生成的代码块。 | |
将生成的代码块插入光标位置。 | |
将生成的代码块复制到剪贴板。 | |
将生成的代码块作为 shell 命令插入终端。 |
提示
- 提供要使用的框架或库的详细信息。
- 考虑创建自定义代码生成指令。
将上下文附加到提示
当您向 Copilot 发送聊天提示时,您可以附加上下文以帮助 Copilot 更好地理解您的问题。例如,将当前编辑器选定内容、文件或符号添加到您的聊天提示。获取有关使用 Copilot 的最佳实践的更多信息。
操作 | 说明 |
---|---|
添加上下文 | 打开快速选择以选择与您的聊天提示相关的上下文。从不同的上下文类型中选择,例如工作区文件、符号、当前编辑器选定内容、终端选定内容等。 |
Prompts... (实验性) |
将可重用的提示指令添加到您的请求中。 |
拖放文件 | 将文件或编辑器标签页拖放到聊天中,将文件作为上下文附加。 |
拖放文件夹 | 将文件夹拖放到聊天中,将文件夹内的文件作为上下文附加。 |
拖放问题 | 将问题面板中的项拖放到聊天中,将其作为上下文附加。 |
最近的文件(实验性) | 自动将最近打开和编辑的文件包含在您的聊天提示中。获取更多信息。 |
聊天变量
在聊天提示中使用聊天变量来引用与您问题相关的上下文。
聊天变量 | 说明 |
---|---|
#changes |
源代码管理更改列表。 |
#codebase |
将相关的工作区内容作为上下文添加到您的提示中。 |
#extensions |
用于查找和询问有关 VS Code 扩展的工具。例如,“如何开始使用 Python #extensions?” |
#fetch |
获取网页内容 - 提供 URL。 |
#<文件或文件夹名称> |
键入 # ,后跟文件或文件夹名称,将其添加为聊天上下文。 |
#githubRepo |
对 GitHub 存储库执行代码搜索,为您的提示收集上下文。例如,“什么是全局代码片段 #githubRepo microsoft/vscode。” |
#new |
用于搭建新 VS Code 工作区的工具。 |
#newJupyterNotebook |
用于搭建新 Jupyter notebook 的工具。 |
#openSimpleBrowser |
用于打开内置 Simple Browser 并预览本地部署的 Web 应用的工具。 |
#problems |
将问题面板中的工作区问题作为上下文添加。在修复代码或调试时很有用。 |
#searchResults |
将搜索视图中的结果作为上下文添加到您的提示中。 |
#selection |
将当前编辑器选定内容作为上下文添加到您的提示中。 |
#<符号> |
键入 # ,后跟符号名称,以获取工作区文件的符号建议并将其作为上下文附加。 |
#terminalSelection |
将当前终端选定内容作为上下文添加到您的聊天提示中。 |
#terminalLastCommand |
将上次运行的终端命令作为上下文添加到您的聊天提示中。 |
#testFailure |
添加测试失败信息作为上下文。在运行和诊断测试时很有用。 |
#usages |
“查找所有引用”、“查找实现”和“转到定义”的组合。 |
#VSCodeAPI |
将 VS Code API 作为上下文添加到您的提示中,以提出与 VS Code 扩展开发相关的问题。 |
编辑器中的 Copilot
当您在编辑器中编码时,您可以使用 Copilot 在您键入时生成代码补全。调用内联聊天以向 Copilot 提问并获取帮助,同时保持编码流程不中断。例如,要求 Copilot 为函数或方法生成单元测试。获取有关代码补全和内联聊天的更多信息。
操作 | 说明 |
---|---|
代码补全 | 在编辑器中开始键入,Copilot 会提供与您的编码风格匹配并考虑现有代码的代码建议。 |
代码注释 | 通过在代码注释中编写指令,向 Copilot 提供代码补全提示。 示例: # write a calculator class with methods for add, subtract, and multiply. Use static methods. |
下一步编辑建议 | 使用 Copilot 下一步编辑建议预测您的下一步代码编辑。通过 github.copilot.nextEditSuggestions.enabled 设置启用 Copilot NES。了解如何开始使用Copilot NES。 |
⌘I (Windows, Linux Ctrl+I) | 启动内联聊天可直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 提供指令。 |
F2 | 在重命名代码中的符号时获取 AI 支持的建议。 |
提示
- 使用有意义的方法或函数名称可以更快地获得更好的代码补全。
- 选择一个代码块以限定您的内联聊天提示范围,或通过附加文件或符号来附加相关上下文。
- 使用编辑器上下文菜单选项可以直接从编辑器访问常见的 Copilot 操作。
自定义 AI 代码生成
定义自定义指令,以帮助 AI 生成或评审与您团队或项目的编码风格、工具和开发工作流相匹配的代码。
通过可重用的提示文件,您可以在 Markdown 文件 (*.prompt.md
) 中指定常见的提示指令和相关内容,然后在您的聊天提示中重复使用。
操作 | 说明 |
---|---|
指令文件 | 在工作区或用户数据文件夹中的 *.instructions.md Markdown 文件中定义共享的代码生成指令。这些常见指令补充您自己的个人代码生成指令。 |
代码评审指令(预览) | 在设置中定义使用 Copilot 评审编辑器选定内容的指令,或从文件导入。您可以定义特定于语言的指令。 |
代码生成指令(实验性) | 在设置中定义使用 GitHub Copilot 生成代码的指令,或从文件导入。您可以定义特定于语言的指令。 |
测试生成指令(实验性) | 在设置中定义使用 GitHub Copilot 生成测试的指令,或从文件导入。您可以定义特定于语言的指令。 |
提交消息生成指令(实验性) | 在设置中定义使用 GitHub Copilot 生成提交消息的指令,或从文件导入。您可以定义特定于语言的指令。 |
拉取请求标题和描述生成指令(实验性) | 在设置中定义使用 GitHub Copilot 生成拉取请求标题和描述的指令,或从文件导入。您可以定义特定于语言的指令。 |
可重用提示文件(实验性) | 在 *.prompt.md Markdown 文件中定义用于重复任务的可重用提示文件,其中包含附加上下文,并在聊天中运行它们。 |
提示
- 定义特定于语言的指令,以便为每种语言生成更准确的代码。
- 将您的指令存储在工作区中,以便轻松与团队共享。
评审代码(实验性)
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 Express app using typescript and svelte |
/newNotebook |
在聊天视图中使用 /newNotebook 命令根据您的需求生成新的 Jupyter notebook。使用自然语言描述 notebook 应包含的内容。示例: /newNotebook get census data and preview key insights with Seaborn 。 |
源代码管理和问题
Copilot 可以分析您的提交和拉取请求中的更改,并为提交消息和拉取请求描述提供建议。
操作 | 说明 |
---|---|
提交 | 为源代码管理提交中的当前更改生成提交消息。 |
拉取请求 | 生成与拉取请求中的更改对应的拉取请求标题和描述。 |
@github |
在聊天中使用 @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 命令以及如何解决在终端中运行命令时遇到的错误的帮助。
操作 | 说明 |
---|---|
⌘I (Windows, Linux Ctrl+I) | 在终端中启动内联聊天,使用自然语言快速获取并运行 shell 命令。 示例: how many cores on this machine? |
@terminal |
在聊天视图中使用 @terminal 参与者来询问有关集成终端或 shell 命令的问题。示例: @terminal list the 5 largest files in this workspace |
@terminal /explain |
在聊天视图中使用 /explain 命令来解释终端中的内容。示例: @terminal /explain top shell command |
Python 和笔记本支持
您可以使用聊天来帮助您在原生 Python REPL 和 Jupyter notebooks 中完成 Python 编程任务。
操作 | 说明 |
---|---|
生成 ⌘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 get census data and preview key insights with Seaborn 。 |
VS Code 命令和 API
您可以使用 Copilot 来获取有关 VS Code 功能、设置和 VS Code 扩展 API 的帮助。获取有关聊天参与者的更多信息。
操作 | 说明 |
---|---|
@vscode |
使用 @vscode 聊天参与者,通过自然语言询问有关 VS Code 的问题。示例: @vscode how to enable word wrapping? |
@vscode /runCommand |
与 @vscode 聊天参与者一起使用 /runCommand 来运行 VS Code 命令。@vscode /runCommand enable developer mode |
@vscode /search |
与 @vscode 聊天参与者一起使用 /search 来生成 VS Code 搜索。示例: @vscode /search python files without imports |
提示
- 如果您要询问有关 VS Code 扩展 API 的问题,请使用
#vscodeAPI
聊天变量。