如何使用 GitHub Copilot 辅助编程:屏幕阅读器用户指南

GitHub Copilot功能介绍与使用说明

功能概览

  • 代码补全:在编辑器中写代码或注释的过程中,Copilot自动推测接下来会写的内容。
  • 聊天模式:使用自然语言向Copilot询问问题,解释代码或请求代码建议等。可根据不同场景选用以下形式被访问:
    • 内联聊天:直接从编辑器终端启动内联聊天对话,在当前位置获取代码建议,因此只会提出对当前文件的代码修改意见。
    • 询问模式:打开持久的聊天视图,帮助回答您的问题并提供代码建议。
  • 编辑模式:使用自然语言来编辑代码。选择要编辑的文件,提供相关上下文和提示,Copilot 将建议代码编辑自动将代码更改应用到工作区的多个文件中。
  • 代理模式:让 Copilot 自主规划执行请求所需的任务和相关文件。Copilot 将应用代码编辑并建议终端命令,并将不断迭代以解决出现的任何问题。

代码补全

GitHub Copilot会在输入代码时提供代码建议,您可以接受,或继续输入并忽略建议。您可以使用代码注释来提示您期待的代码。
代码的建议通常会自动生成,一声音效提示后,屏幕阅读器会朗读出建议。

  • 接受建议Tab
  • 忽视建议Esc 或继续键入代码。

聊天模式

使用聊天模式,您可以通过聊天提问来获取代码建议、提高代码理解能力,甚至配置VS Code。无需在文档或在线论坛中搜索答案,直接在 VS Code 中询问 Copilot 并立即将建议应用于您的代码库。

使用方式

  1. 打开聊天视图

    • 聊天视图:Ctrl+Alt+I
      • 若非询问模式,则选择模式:Ctrl+.切换模式;或者打开命令面板,输入“设置聊天模式”后按回车;或者Tab到模式选择器,使用UpDown键选择。
    • 内联聊天:Ctrl+I
    • 打开后按Alt+F1,可获取功能的辅助功能指南。

      其中,内联聊天发生在代码编辑器或终端中,使用你熟悉的文本选择命令,例如Shift+上下左右箭头,在编辑器中选中代码块,进行关于该代码片段的聊天。

  2. 添加上下文: 参见聊天上下文章节。

  3. 输入提示词
    一些提示词示例:

    • 询问有关编码和技术概念的问题(“什么是链表?”、“前 10 个流行的 Web 框架”)
    • 集思广益,讨论如何最好地解决编码问题(“如何为我的项目添加身份验证?)
    • 解释一段代码 ( “这段代码启什么作用?”)
    • 建议代码修复 ( “此方法发生FileNotFoundException错误”)
    • 生成单元测试用例或代码文档(“请你帮我给这份文件写一个测试用例”)
  4. 查看回复

    • 询问模式:

      • 聚焦到聊天列表的最后一次请求或回复:Ctrl+UpArrow。此后,可以通过UpArrowDownArrow在不同的请求和回复中导航。
      • 聚焦到聊天输入框:Ctrl+DownArrow
      • 聚焦到回复中的上或下一个代码块,Ctrl+Alt+PageUpPageDown
      • 聚焦到代码块对应的工具栏:聚焦代码块时,按Tab可以定位到工具栏,使用RightArrowLeftArrow浏览代码块的应用操作, 包括:
        • 将代码块在编辑器中应用,会自动选择需插入的位置,并开启代码审核流程。
        • 在当前光标位置插入代码块(Ctrl+Enter),直接插入到光标位置。
        • 将代码块复制到剪贴板。
        • 将代码块插入终端(Ctrl+Alt+Enter)。
        • 将代码块插入到新文件中。
      • 可访问视图查看最后一次回复:在输入框中,按Alt+F2
      • 也可以切换屏幕阅读器到浏览模式,以浏览网站的形式来浏览消息(例如,按H在标题之间跳转)。
    • 内联聊天:

      • 仅含代码变更,变更差异将在差异视图中展示。
        • 接受变化:Ctrl+Enter
        • 不满意:可以输入新的命令或按Esc退出。
      • 否则,查看同询问模式。
  5. 可选,询问后续问题以获取更完善的答案。

编辑模式 及 代理模式

在编辑模式下,您可以提供希望 Copilot 处理的相关上下文和文件。Copilot 将根据您的提示建议代码编辑,您可以通过提供后续提示手动迭代代码更改。

在代理模式下,Copilot 会自主确定相关上下文和文件,确定需要执行哪些任务,并提供代码更改和终端命令来完成请求。随后,它会独立迭代以实现预期结果,并在问题出现时进行修复。代理模式使用一组工具来执行特定任务,例如编辑文件、运行和监控终端命令等。这些工具可以并行运行以完成请求的任务。

编辑模式

  1. 打开视图
    • 首先打开聊天视图:Ctrl+Alt+I
    • 选择模式:Ctrl+.切换模式;或者打开命令面板,输入“设置聊天模式”后按回车;或者Tab到模式选择器,使用UpDown键选择。
    • 打开后按Alt+F1,可获取功能的辅助功能指南。
  2. 添加上下文: 参见聊天上下文章节。
  3. 输入提示词以请求代码编辑
  4. 审查回复:审查建议的编辑并接受或放弃建议的编辑。
  5. 继续优化:继续询问后续问题并迭代 Copilot 提供的代码更改。

代理模式

  1. 打开视图
    • 首先打开聊天视图:Ctrl+Alt+I
    • 选择模式:按Ctrl+.切换模式;或者打开命令面板,输入“设置聊天模式”后按回车;或者Tab到模式选择器,使用UpDown键选择。
    • 打开后按Alt+F1,可获取功能的辅助功能指南。
  2. 输入提示词以请求代码编辑。您无需指定要处理哪些文件。在代理模式下,Copilot会自主确定要编辑的相关上下文和文件。
  3. 审查回复:查看建议的代码编辑并确认 Copilot 是否可以运行建议的终端命令。
  4. 自动迭代:Copilot检测代码编辑和终端命令中的问题,并将迭代并执行其他操作来解决它们。例如,代理模式可能会在代码编辑后运行单元测试。如果测试失败,Copilot 会使用测试结果来解决问题。
  5. 继续优化:继续询问后续问题并迭代 Copilot 提供的代码更改。

审查回复

在编辑模式,代理模式或聊天模式将代码块在编辑器中应用后,Copilot会自动将代码变更应用到代码后,并提供了一个代码审查流程,您可以接受或拒绝每个由 AI 生成的编辑。Copilot 在已更改文件列表中列出了已编辑的文件(可以通过Shift+Tab访问到)。

  • 在Copilot面板

    • 接受所有编辑(并执行命令):Ctrl+Enter
    • 拒绝所有编辑:Ctrl+Backspace
    • 聚焦到聊天列表的最后一次请求或回复:Ctrl+UpArrowUpArrowDownArrow在不同的请求和回复中导航。
    • 聚焦到聊天输入框:Ctrl+DownArrow
    • 可访问视图查看最后一次回复:在输入框中,按Alt+F2
  • 在编辑器

    • (跨文件)导航到下一个或上一个编辑:Alt+F5Shift+Alt+F5
    • 打开/关闭差异视图:F7Esc打开或者关闭差异视图,观察代码的变更。
    • 接受一个编辑:Ctrl+Shift+Enter
    • 拒绝一个编辑:Ctrl+Shift+Backspace

撤销与重做
当您发送请求以对代码进行编辑时,若您希望回滚其中一些更改。您可以使用聊天视图标题栏中的撤消上一个请求控件来还原上次编辑并返回到发送上次请求之前的状态。撤消上次编辑后,可以使用聊天视图标题栏中的 重做上一个请求控件再次重做这些编辑。

聊天上下文

向 Copilot 聊天提示添加上下文,可以帮助 Copilot 为您提供最佳、最相关的答案。

上下文的类型

Copilot 支持不同类型的上下文,包括:

  • 选中的代码块,文件,文件夹:在提示中包含选中的代码块,文件或文件夹内的所有文件。
  • 代码库(Codebase):选择Codebase,Copilot 会自动从您的代码库中查找正确的文件,而不是手动添加单个文件。
  • 符号 (Symbols) :将工作区代码中的标识符,如函数、变量、类、方法、接口、枚举添加到提示中。
  • 终端命令输出 (Terminal Last Command) : 在提示中包含最后一次运行的终端命令的输出结果。
  • 终端选择(Terminal Selection):在提示中包终端中选中的文字。
  • 问题 (Problems): 在提示中包含“问题”面板中的特定代码问题。
  • 测试失败 (Test failures) : 在提示中包含测试失败的详细信息。

添加的方式

上下文可以通过以下方式添加:

  • 当前文件:默认代码编辑器窗口正打开的文件会被添加为上下文(可关闭)。
    • 如果在编辑器中选择了代码块,则仅将该选择添加为上下文。选择代码片段可以使用你熟悉的文本选择命令,例如Shift+上下左右箭头。
    • 关闭,可以在聚焦到输入后,通过Tab找到对应文件,再Tab一次找到禁用按钮(Disable current file context)
  • 添加上下文Ctrl+/ 选择加入更多的上下文。可以上下箭头在列表中寻找想添加的上下文,之后使用右键加入上下文,或直接键入对应的文件名或上下文名字。
    • 后续你也可以通过Tab找到加入的上下文的删除按钮进行删除。
  • 变量: 键入#在输入的提示词中插入下上文,通过上下箭头在列表中查找或直接键入。例如,#terminalLastCommand表示在提示中包含最后一次运行的终端命令的输出结果。#file: filename表示在提示中包含文件的内容。#codebase表示在提示中包含代码库的内容,Copilot会自动从代码库中找到正确的文件。

自动找到正确的文件

您无需手动添加单个文件,而是可以让 Copilot 自动从代码库中找到正确的文件。当您不知道哪些文件与您的问题相关时,这会很有用。
为了让 Copilot 自动找到正确的文件,请在提示中添加#codebase或从上下文类型列表中选择Codebase。
确保启用 github.copilot.chat.codesearch.enabled设置以获得最佳结果。

其他

切换模型

Ctrl+Alt+. 在输入框,通过Tab键可以找到模型的选择器选择不同的模型进行聊天。

通过命令面板使用

  1. F1(或者 Ctrl+Shift+P) 打开命令面板。
  2. 输入“GitHub Copilot”或“Chat”后,通过上下方向键可以浏览一些列操作。
  3. 选择操作,按Enter即可执行。
  4. Esc可以退出命令面板。
  5. 为了更快的访问,可以导航到File > Preferences > Keyboard Shortcuts,绑定喜欢的操作到喜欢的按键组合。

标签: none

添加新评论