VS Code 中 GitHub Copilot 的设置参考
本文列出了 Visual Studio Code 中 GitHub Copilot 的配置设置。有关在 VS Code 中使用设置的通用信息,请参阅用户和工作区设置,以及有关预定义变量支持的信息,请参阅变量参考。
提示
如果您还没有 Copilot 订阅,可以通过注册Copilot 免费计划免费使用 Copilot,每月有一定的使用限制(包括代码补全和聊天交互次数)。
团队正持续改进 VS Code 中的 Copilot 并添加新功能。有些功能仍处于实验阶段。请尝试使用并在我们的问题反馈区分享您的反馈。获取更多关于VS Code 中的功能生命周期的信息。
通用设置
- github.copilot.editor.enableCodeActions: 控制当可用时是否将 Copilot 命令显示为代码操作。
- github.copilot.renameSuggestions.triggerAutomatically: 控制 Copilot 是否生成重命名建议。
- chat.commandCenter.enabled: 控制是否在 VS Code 标题栏中显示 Copilot 菜单(默认为
true
)。 - workbench.commandPalette.experimental.askChatLocation (实验性): 控制命令面板应该在哪里提问聊天问题。
- github.copilot.chat.search.semanticTextResults (实验性): 在搜索视图中启用语义搜索结果。
- chat.setupFromDialog (实验性): 控制在启动聊天会话时是否显示 Copilot 设置对话框。
- github.copilot.suggestSettings: 控制是否在设置编辑器中显示建议。
代码补全设置
- github.copilot.enable: 为指定的语言启用或禁用 Copilot 代码补全。
- github.copilot.nextEditSuggestions.enabled: 启用 Copilot 下一次编辑建议 (Copilot NES)。
- editor.inlineSuggest.edits.allowCodeShifting: 配置 Copilot NES 是否能够移动代码以显示建议。
- editor.inlineSuggest.edits.renderSideBySide: 配置 Copilot NES 是否可以尽可能并排显示较大的建议,或者 Copilot NES 是否应始终在相关代码下方显示较大的建议。
聊天设置
- github.copilot.chat.followUps: 控制 Copilot 是否在聊天中建议后续问题。
- github.copilot.chat.localeOverride: 指定 Copilot 应该响应的区域设置,例如
en
或fr
。 - github.copilot.chat.runCommand.enabled: 在聊天视图中启用
/runCommand
意图以运行 VS Code 命令。 - github.copilot.chat.useProjectTemplates: 使用
/new
时,将相关的 GitHub 项目用作入门项目。 - github.copilot.chat.scopeSelection: 如果您使用
/explain
且活动编辑器没有选中内容,是否提示输入特定的符号范围。 - github.copilot.chat.terminalChatLocation: 控制来自终端的聊天查询应该在哪里打开。
- chat.detectParticipant.enabled: 在聊天视图中启用聊天参与者检测。
- chat.editor.fontFamily: 聊天代码块中的字体系列。
- chat.editor.fontSize: 聊天代码块中字体的像素大小。
- chat.editor.fontWeight: 聊天代码块中的字体粗细。
- chat.editor.lineHeight: 聊天代码块中每行的像素高度。
- chat.editor.wordWrap: 切换聊天代码块中的自动换行。
- chat.editing.confirmEditRequestRemoval: 在撤销编辑之前要求确认(默认为
true
) - chat.editing.confirmEditRequestRetry: 在重做上次编辑之前要求确认(默认为
true
) - chat.editing.autoAcceptDelay: 配置建议的编辑自动接受前的延迟时间,使用零禁用自动接受(默认为 0)
- chat.agent.enabled: 启用或禁用代理模式(默认为
false
,需要 VS Code 1.99 或更高版本) - chat.agent.maxRequests: Copilot 在代理模式下可以发出的最大请求数(默认为 15)
- github.copilot.chat.agent.autoFix: 自动诊断并修复生成的代码更改中的问题(默认为
true
) - github.copilot.chat.agent.runTasks: 使用代理模式时运行工作区任务(默认为
true
) - chat.mcp.enabled (预览): 在 VS Code 中启用模型上下文协议 (MCP) 支持。这使得在代理模式下可以添加来自 MCP 服务器的工具。
- github.copilot.chat.codesearch.enabled (预览): 在提示中使用
#codebase
时,Copilot 会自动发现要编辑的相关文件。 - chat.implicitContext.enabled (实验性): 配置是否应将活动编辑器自动添加为聊天提示的上下文。
- github.copilot.chat.agent.thinkingTool (实验性): 在代理模式下启用思维工具。
- github.copilot.chat.newWorkspaceCreation.enabled (实验性): 在聊天中启用代理模式工具,用于构建新的工作区。
- github.copilot.chat.edits.temporalContext.enabled (实验性): 在 Copilot 编辑请求中是否包含最近查看和编辑过的文件。
- github.copilot.chat.edits.suggestRelatedFilesFromGitHistory (实验性): 在 Copilot 编辑中从 git 历史记录建议相关文件(默认为
false
) - chat.tools.autoApprove (实验性): 自动批准所有工具(默认为
false
) - chat.sendElementsToChat.enabled (实验性): 允许将 Simple Browser 中的元素作为上下文发送到聊天视图(默认为
true
)。
内联聊天设置
- inlineChat.acceptedOrDiscardBeforeSave: 控制编辑器中待处理的内联聊天会话是否阻止保存文件。
- inlineChat.finishOnType: 在更改区域外部键入时是否结束内联聊天会话。
- inlineChat.holdToSpeech: 按住内联聊天键盘快捷方式是否将自动启用语音识别。
- inlineChat.lineEmptyHint (实验性): 控制是否在空行上显示内联聊天的提示。
- inlineChat.lineNaturalLanguageHint (实验性): 实验性建议,当一行主要由单词组成时立即触发内联聊天。
- editor.inlineSuggest.syntaxHighlightingEnabled: 控制是否为内联建议显示语法高亮。
- github.copilot.chat.editor.temporalContext.enabled (实验性): 在内联聊天中,Copilot 请求是否包含最近查看和编辑过的文件。
自定义 Copilot 提示
- github.copilot.chat.codeGeneration.useInstructionFiles: 控制是否将来自
.github/copilot-instructions.md
的代码指令添加到 Copilot 请求中。 - github.copilot.chat.reviewSelection.enabled (预览): 为编辑器中选定的文本启用代码审查。
- github.copilot.chat.reviewSelection.instructions (预览): 一组将添加到 Copilot 请求中的指令,用于审查当前编辑器选定内容。
- github.copilot.chat.codeGeneration.instructions (实验性): 一组将添加到生成代码的 Copilot 请求中的指令。
- github.copilot.chat.testGeneration.instructions (实验性): 一组将添加到生成测试的 Copilot 请求中的指令。
- github.copilot.chat.commitMessageGeneration.instructions (实验性): 一组将添加到生成提交消息的 Copilot 请求中的指令。针对当前编辑器选定内容的 Copilot 审查请求。
- github.copilot.chat.pullRequestDescriptionGeneration.instructions (实验性): 一组将添加到生成拉取请求标题和描述的 Copilot 请求中的指令。
- chat.promptFiles (实验性): 启用或禁用可重用的提示文件。
- chat.promptFilesLocations (实验性): 指定提示文件的位置。设置为
true
使用默认位置 (.github/prompts
),或使用{ "/path/to/folder": boolean }
格式指定其他路径。相对路径将从工作区的根文件夹解析。 - chat.instructionsFilesLocations (实验性): 指定指令文件的位置。设置为
true
使用默认位置 (.github/instructions
),或使用{ "/path/to/folder": boolean }
格式指定其他路径。相对路径将从工作区的根文件夹解析。
调试设置
- github.copilot.chat.startDebugging.enabled (预览): 在聊天视图中启用实验性
/startDebugging
意图,以生成调试配置。 - github.copilot.chat.copilotDebugCommand.enabled (预览): 启用
copilot-debug
终端命令。
测试设置
- github.copilot.chat.generateTests.codeLens (实验性): 对于当前测试覆盖率信息未覆盖的符号,显示生成测试代码提示。
- github.copilot.chat.setupTests.enabled (实验性): 启用实验性
/setupTests
意图并在/tests
生成中进行提示。 - github.copilot.chat.testGeneration.instructions (实验性): 一组将添加到生成测试的 Copilot 请求中的指令。
笔记本设置
- notebook.experimental.generate (实验性): 在笔记本编辑器中启用生成操作,以便在启用内联聊天的情况下创建代码单元格。
辅助功能设置
- inlineChat.accessibleDiffView: 内联聊天是否也为其更改呈现一个可访问的差异查看器。
- accessibility.signals.chatRequestSent: 在发出聊天请求时播放信号 - 声音(音频提示)和/或公告(警报)。
- accessibility.signals.chatResponseReceived: 在收到响应时播放声音/音频提示。
- accessibility.verbosity.inlineChat: 提供有关如何访问内联编辑器聊天辅助功能帮助菜单的信息,并在输入聚焦时发出提示警报,描述如何使用该功能。
- accessibility.verbosity.inlineCompletions: 提供有关如何访问内联代码补全悬停和辅助功能视图的信息。
- accessibility.verbosity.panelChat: 在聊天输入聚焦时,提供有关如何访问聊天帮助菜单的信息。
- accessibility.voice.keywordActivation: 控制是否识别关键字短语“Hey Code”以开始语音聊天会话。
- accessibility.voice.autoSynthesize: 控制当输入使用语音时,文本响应是否应自动朗读出来。
- accessibility.voice.speechTimeout: 停止讲话后语音识别保持活动的毫秒数。