在 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 并添加新功能。有些功能仍在实验中。请尝试使用它们并在我们的 Issues中分享您的反馈。

与 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 的最佳实践的更多信息。

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

聊天变量

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

聊天变量 描述
#changes 源代码管理更改列表。
#codebase 将相关工作区内容作为上下文添加到您的提示中。
#extensions 用于查找和询问有关 VS Code 扩展的问题的工具。例如,“如何开始使用 Python #extensions?”
#fetch 从网页获取内容 - 提供 URL。
#<文件或文件夹名称> 键入#,后跟文件或文件夹名称,以将其添加为聊天上下文。
#githubRepo 对 GitHub 仓库执行代码搜索,以收集提示的上下文。例如,“什么是全局代码片段 #githubRepo microsoft/vscode。”
#new 用于搭建新 VS Code 工作区的工具。
#newJupyterNotebook 用于搭建新 Jupyter 笔记本的工具。
#openSimpleBrowser 用于打开内置 Simple Browser 并预览本地部署的 Web 应用的工具。
#problems 将来自问题面板的工作区问题和错误作为上下文添加。在修复代码或调试时很有用。
#searchResults 将搜索视图中的结果作为上下文添加到您的提示中。
#selection 将当前编辑器选择作为上下文添加到您的提示中。
#<符号> 键入#,后跟符号名称,以获取工作区文件的符号建议并作为上下文附加。
#terminalSelection 将当前终端选择作为上下文添加到您的聊天提示中。
#terminalLastCommand 将上次运行的终端命令作为上下文添加到您的聊天提示中。
#testFailure 添加测试失败信息作为上下文。在运行和诊断测试时很有用。
#usages “查找所有引用”、“查找实现”和“转到定义”的组合。
#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 提供指令。
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 笔记本。使用自然语言描述笔记本应包含的内容。
示例:/newNotebook get census data and preview key insights with Seaborn

源代码管理和问题

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

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

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

操作 描述
语义搜索(实验性) 在搜索视图中包含 Copilot 的搜索结果,这些结果与您的查询语义相关。

终端

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

操作 描述
⌘I (Windows, Linux Ctrl+I) 在终端内启动内联聊天,使用自然语言快速获取并运行 shell 命令。
示例:这台机器有多少个核心?
@terminal 在聊天视图中使用@terminal参与者询问有关集成终端或 shell 命令的问题。
示例:@terminal 列出此工作区中最大的 5 个文件
@terminal /explain 在聊天视图中使用/explain命令解释终端中的内容。
示例:@terminal /explain top shell command

Python 和 Notebook 支持

您可以使用聊天在原生 Python REPL 和 Jupyter 笔记本中帮助您完成 Python 编程任务。

操作 描述
生成
⌘I (Windows, Linux Ctrl+I)
在笔记本中启动内联聊天,以生成代码块或 Markdown 块。
# 在聊天提示中附加 Jupyter 内核中的变量,以获得更相关的回复。
原生 REPL + ⌘I (Windows, Linux Ctrl+I) 在原生 Python REPL 中启动内联聊天并运行生成的命令。
⌃⌘I (Windows, Linux Ctrl+Alt+I) 打开聊天视图并使用编辑或代理模式进行笔记本编辑。
/newNotebook 在聊天视图中使用/newNotebook命令,根据您的要求生成新的 Jupyter 笔记本。使用自然语言描述笔记本应包含的内容。
示例:/newNotebook get census data and preview key insights with Seaborn

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 files without imports

提示

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

下一步