现已推出!阅读有关 10 月份新功能和修复的信息。

VS Code 中的 GitHub Copilot 速查表

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

您可以通过聊天视图、直接在编辑器中、从集成终端以及通过 VS Code 用户界面中的 AI 增强功能访问 VS Code 中的 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 打开一个快速选择器以从工作区中选择一个文件并将其作为上下文添加到您的提示中。
#<filename> 键入#,然后键入文件名以获取工作区文件的建议文件名并将其作为上下文附加。
拖放文件 将文件或编辑器拖放到聊天中以将文件作为上下文附加。
最近的文件 自动将最近打开和编辑的文件包含在聊天提示中。获取更多信息

技巧

  • 通过在快速选择器中使用右箭头键,快速将多个文件作为上下文添加
  • 通过选择代码或提及聊天变量来明确包含相关上下文
  • 检查聊天响应中使用的引用,以确保上下文相关

编辑器中的 Copilot

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

操作 描述
代码补全 在编辑器中开始输入,Copilot 会提供与您的编码风格相匹配的代码建议,并考虑您现有的代码。
代码注释 通过在代码注释中编写指令来为 Copilot 提供代码补全提示。
例如:# write a calculator class with methods for add, subtract, and multiply. Use static methods.
⌘I(Windows、Linux Ctrl+I 开始**内联聊天**以直接从编辑器中向 Copilot 发送聊天请求。使用自然语言或使用/命令来指示 Copilot。
来自编辑器的提示 直接在代码中开始输入自然语言,Copilot 会检测到您不是在编写代码,而是在发出提示,并将自动为您的提示启动内联聊天。
F2 在重命名代码中的符号时获得 AI 驱动的建议。

技巧

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

自定义 AI 代码生成

Copilot 可以生成与您的团队或项目的编码风格、工具和开发工作流程相匹配的响应,前提是它具有正确的上下文。您可以提供自定义指令来帮助 Copilot 适应您的偏好,这样您就不必每次发出 Copilot 请求时都提供这些详细信息。这些自定义指令将自动添加到您的请求中。有关在 VS Code 中自定义 Copilot 的更多信息,请访问 自定义 Copilot in VS Code

操作 描述
基于文件的指令 (预览) 在工作区的 .gitHub/copilot-instructions.md 文件中定义代码生成的共享指令。这些通用指令补充了您自己的个人代码生成指令。
代码审查指令 (预览) 定义使用 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 代码操作,这些操作表示对修复代码中的问题的建议。

搭建新项目

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 技能
例如:@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?

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

使用 Copilot 解释
在失败的 shell 命令上选择 图标,获取有关命令失败原因的解释。
@terminal 在聊天视图中使用 @terminal 参与者询问有关集成终端或 shell 命令的问题。
例如:@terminal list the 5 largest files in this workspace
@terminal /explain 在聊天视图中使用 /explain 命令来解释终端中的内容。
例如:@terminal /explain top shell command

Python 和 Notebook 支持

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

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

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 /search@vscode 聊天参与者一起使用,以生成 VS Code 搜索。
例如:@vscode /search python files without imports

技巧

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

下一步