VS Code 中的 GitHub Copilot 设置参考
本文档列出了 Visual Studio Code 中 GitHub Copilot 的配置设置。有关在 VS Code 中使用设置的常规信息,请参阅 用户和工作区设置。
开发团队正在持续改进 VS Code 中的 Copilot 并添加新功能。其中一些功能仍处于实验阶段。请尝试使用它们,并在 我们的 issues 中分享您的反馈。有关 VS Code 中的功能生命周期 的更多信息。
提示
如果您还没有 Copilot 订阅,您可以通过注册 Copilot 免费计划来免费使用 Copilot,每月可获得有限数量的行内建议和聊天交互。
通用设置
| 设置和描述 | 默认值 |
|---|---|
| chat.commandCenter.enabled 控制是否在 VS Code 标题栏中显示聊天菜单。 |
true |
| workbench.settings.showAISearchToggle 在设置编辑器中启用使用 AI 搜索设置。 |
true |
| workbench.commandPalette.experimental.askChatLocation (实验性) 控制命令面板应在何处询问聊天问题。 |
"chatView" |
| search.searchView.semanticSearchBehavior (预览版) 配置在搜索视图中运行语义搜索的时间:手动(默认)、未找到文本搜索结果时,或始终。 |
"manual" |
| search.searchView.keywordSuggestions (预览版) 控制是否在搜索视图中显示关键字建议。 |
false |
代码编辑设置
| 设置和描述 | 默认值 |
|---|---|
| github.copilot.editor.enableCodeActions 控制在可用时是否将 Copilot 命令显示为代码操作。 |
true |
| github.copilot.renameSuggestions.triggerAutomatically 生成符号重命名建议。 |
true |
| github.copilot.enable 为指定的 语言 启用或禁用行内建议。 |
{ "*": true, "plaintext": false, "markdown": false, "scminput": false } |
| github.copilot.nextEditSuggestions.enabled 启用 下一编辑建议 (NES)。 |
true |
| editor.inlineSuggest.edits.allowCodeShifting 配置 NES 是否能够移动代码以显示建议。 |
"always" |
| editor.inlineSuggest.edits.renderSideBySide 配置 NES 是否可以尽可能并排显示更大的建议,或者 Copilot NES 是否应始终在相关代码下方显示更大的建议。 |
"auto" |
| github.copilot.nextEditSuggestions.fixes 根据诊断(波浪线)启用下一编辑建议。例如,缺少导入。 |
true |
| editor.inlineSuggest.minShowDelay 显示行内建议之前等待的毫秒数。 |
0 |
聊天设置
| 设置和描述 | 默认值 |
|---|---|
| github.copilot.chat.localeOverride 为聊天响应指定区域设置,例如 en 或 fr。 |
"auto" |
| github.copilot.chat.useProjectTemplates 使用相关的 GitHub 项目作为使用 /new 时的起始项目。 |
true |
| github.copilot.chat.scopeSelection 当您使用 /explain 且活动编辑器没有选择时,是否提示选择特定的符号范围。 |
false |
| github.copilot.chat.terminalChatLocation 控制从终端发起的聊天查询应在何处打开。 |
"chatView" |
| chat.detectParticipant.enabled 在聊天视图中启用聊天参与者检测。 |
true |
| chat.checkpoints.enabled 启用或禁用聊天中的 检查点。 |
true |
| chat.checkpoints.showFileChanges 在每次聊天请求结束时显示文件更改摘要。 |
false |
| chat.editRequests 启用或禁用 编辑之前的聊天请求。 |
"inline" |
| chat.editor.fontFamily 聊天代码块中的字体系列。 |
"default" |
| chat.editor.fontSize 聊天代码块中的字体大小(以像素为单位)。 |
14 |
| chat.editor.fontWeight 聊天代码块中的字体粗细。 |
"default" |
| chat.editor.lineHeight 聊天代码块中的行高(以像素为单位)。 |
0 |
| chat.editor.wordWrap 切换聊天代码块中的换行。 |
"off" |
| chat.editing.confirmEditRequestRemoval 撤销编辑前请求确认。 |
true |
| chat.editing.confirmEditRequestRetry 重做上次编辑前请求确认。 |
true |
| chat.editing.autoAcceptDelay 配置建议的编辑自动接受的延迟,使用零禁用自动接受。 |
0 |
| chat.fontFamily 聊天中 Markdown 内容的字体系列。 |
"default" |
| chat.fontSize 聊天中 Markdown 内容的字体大小(以像素为单位)。 |
13 |
| chat.notifyWindowOnConfirmation 当需要用户输入时,启用或禁用显示操作系统通知窗口。 |
true |
| chat.notifyWindowOnResponseReceived 收到聊天响应时,启用或禁用显示操作系统通知窗口。 |
true |
| chat.tools.terminal.autoReplyToPrompts 自动回复终端提示,提供默认答案。 |
false |
| chat.tools.terminal.terminalProfile.<platform> 为每个平台配置用于聊天终端命令的终端配置文件。 |
"" |
| chat.useAgentsMdFile 启用或禁用使用 AGENTS.md 文件作为聊天请求的上下文。 |
true |
| chat.math.enabled (预览版) 在聊天中启用或禁用使用 KaTeX 进行数学渲染。 |
false |
| chat.viewTitle.enabled (预览版) 在聊天头部显示当前聊天会话的标题。 |
true |
| github.copilot.chat.codesearch.enabled (预览版) 当提示中使用 #codebase 时,Copilot 会自动发现要编辑的相关文件。 |
false |
| chat.emptyState.history.enabled (实验性) 在聊天视图的空状态下显示最近的聊天历史记录。 |
false |
| chat.sendElementsToChat.enabled (实验性) 启用将简单浏览器中的元素作为上下文发送到聊天视图。 |
true |
| chat.useNestedAgentsMdFiles (实验性) 启用或禁用使用工作区子文件夹中的 AGENTS.md 文件作为聊天请求的上下文。 |
false |
| github.copilot.chat.customOAIModels (实验性) 为聊天配置自定义 OpenAI 兼容模型。 |
[] |
| github.copilot.chat.edits.suggestRelatedFilesFromGitHistory (实验性) 在聊天上下文中建议来自 git 历史的相关文件。 |
true |
代理设置
| 设置和描述 | 默认值 |
|---|---|
| chat.agent.enabled 启用或禁用代理(需要 VS Code 1.99 或更高版本)。 |
true |
| chat.agent.maxRequests Copilot 使用代理可以发出的最大请求数。 |
25 |
| github.copilot.chat.agent.autoFix 自动诊断并修复生成的代码更改中的问题。 |
true |
| chat.mcp.access 管理可以在 VS Code 中使用的模型上下文协议 (MCP) 服务器。 |
true |
| chat.mcp.discovery.enabled 配置从其他应用程序自动发现 MCP 服务器配置。 |
false |
| chat.tools.terminal.autoApprove 控制在 使用代理时自动批准哪些终端命令。命令可以设置为 true(自动批准)或 false(需要批准)。可以通过将模式括在 / 字符中来使用正则表达式。 |
{ "rm": false, "rmdir": false, "del": false, "kill": false, "curl": false, "wget": false, "eval": false, "chmod": false, "chown": false, "/^Remove-Item\\b/i": false } |
| chat.tools.terminal.enableAutoApprove 启用或禁用终端命令的自动批准。 |
true |
| chat.tools.terminal.ignoreDefaultAutoApproveRules 忽略终端命令的默认自动批准规则。 |
false |
| chat.tools.global.autoApprove 自动批准所有工具 - 此设置 禁用关键安全保护。 |
false |
| chat.tools.urls.autoApprove 控制 哪些 URL 请求和响应被自动批准。 |
[] |
| chat.agent.thinking.collapsedTools (实验性) 配置工具调用详情在聊天对话中默认是折叠还是展开。 |
always |
| chat.agent.thinkingStyle (实验性) 配置思考标记在聊天中显示的方式。 |
fixedScrolling |
| chat.customAgentInSubagent.enabled (实验性) 启用使用自定义代理和 子代理。 |
false |
| chat.mcp.autoStart (实验性) 检测到 MCP 配置更改时自动启动 MCP 服务器。 |
newAndOutdated |
| chat.tools.eligibleForAutoApproval (实验性) 配置哪些工具在代理可以使用它们之前需要手动批准。 |
[] |
| chat.tools.terminal.blockDetectedFileWrites (实验性) 需要用户批准执行文件写入的终端命令。 |
outsideWorkspace |
| chat.useClaudeSkills (实验性) 在 VS Code 中启用对 Claude 技能的支持。 |
false |
| github.copilot.chat.newWorkspaceCreation.enabled (实验性) 启用用于在聊天中构建新工作区的工具。 |
true |
| github.copilot.chat.agent.thinkingTool (实验性) 使用代理时启用思考工具。 |
false |
| github.copilot.chat.cli.customAgents.enabled (实验性) 启用从 GitHub 后台代理会话使用自定义代理。 |
false |
| github.copilot.chat.summarizeAgentConversationHistory.enabled (实验性) 当上下文窗口已满时,自动总结代理对话历史。 |
true |
| github.copilot.chat.virtualTools.threshold (实验性) 使用虚拟工具的工具计数阈值。虚拟工具将相似的工具集分组,并允许模型按需激活它们。允许您为聊天请求超过 128 个工具的限制。 |
128 |
代理会话
代理视图 提供了一个集中位置,用于管理本地聊天对话和远程编码代理会话。此视图使您能够同时处理多个 AI 会话,跟踪其进度,并高效地管理长期任务。
| 设置和描述 | 默认值 |
|---|---|
| chat.viewSessions.orientation 配置代理会话列表在聊天视图中的显示方式。 |
auto |
| chat.agentSessionsViewLocation (预览版) 启用或禁用专用的代理视图。 |
disabled |
行内聊天设置
| 设置和描述 | 默认值 |
|---|---|
| inlineChat.finishOnType 在键入更改区域外的内容时结束编辑器内联聊天会话。 |
false |
| inlineChat.holdToSpeech 按住编辑器内联聊天键盘快捷键(⌘I (Windows, Linux Ctrl+I))会自动启用语音识别。 |
true |
| editor.inlineSuggest.syntaxHighlightingEnabled 显示行内建议的语法高亮。 |
true |
| inlineChat.lineEmptyHint (实验性) 在空行上显示编辑器内联聊天的提示。 |
false |
| inlineChat.lineNaturalLanguageHint (实验性) 只要一行主要由单词组成,就立即触发编辑器内联聊天。 |
true |
| github.copilot.chat.editor.temporalContext.enabled (实验性) 将最近查看和编辑的文件包含在编辑器内联聊天的上下文中。 |
false |
代码审查设置
| 设置和描述 | 默认值 |
|---|---|
| github.copilot.chat.reviewSelection.enabled (预览版) 为编辑器文本选择启用使用 AI 进行代码审查。 |
true |
| github.copilot.chat.reviewSelection.instructions (预览版) 自定义指令,添加到用于使用 AI 审查当前编辑器选择的请求中。 |
[] |
自定义指令设置
| 设置和描述 | 默认值 |
|---|---|
| chat.instructionsFilesLocations 搜索自定义指令文件的位置。相对路径从工作区的根文件夹解析。支持文件路径的 glob 模式。 |
{ ".github/instructions": true } |
| github.copilot.chat.codeGeneration.useInstructionFiles 自动将 .github/copilot-instructions.md 中的自定义指令添加到聊天请求中。 |
true |
| github.copilot.chat.commitMessageGeneration.instructions (实验性) 使用 AI 生成提交消息的自定义指令。 |
[] |
| github.copilot.chat.pullRequestDescriptionGeneration.instructions (实验性) 使用 AI 生成拉取请求标题和描述的自定义指令。 |
[] |
可重用提示文件设置
| 设置和描述 | 默认值 |
|---|---|
| chat.promptFilesLocations 搜索提示文件的位置。相对路径从工作区的根文件夹解析。支持文件路径的 glob 模式。 |
{ ".github/prompts": true } |
| chat.promptFilesRecommendations 在打开新聊天会话时,启用或禁用提示文件推荐。提示文件名和布尔值或 when 子句的键值对列表。 |
[] |
调试设置
| 设置和描述 | 默认值 |
|---|---|
| github.copilot.chat.startDebugging.enabled (预览版) 启用聊天视图中实验性的 /startDebugging 意图以生成调试配置。 |
true |
| github.copilot.chat.copilotDebugCommand.enabled (预览版) 启用 copilot-debug 终端命令。 |
true |
测试设置
| 设置和描述 | 默认值 |
|---|---|
| github.copilot.chat.generateTests.codeLens (实验性) 为未被当前测试覆盖率信息覆盖的符号显示生成测试代码镜头。 |
false |
| github.copilot.chat.setupTests.enabled (实验性) 启用实验性的 /setupTests 意图和 /tests 生成中的提示。 |
true |
笔记本设置
| 设置和描述 | 默认值 |
|---|---|
| notebook.experimental.generate (实验性) 启用生成操作,通过笔记本内联聊天创建代码单元格。 |
true |
| github.copilot.chat.edits.newNotebook.enabled (实验性) 在编辑模式下启用笔记本工具以创建新的笔记本文件。 |
true |
| github.copilot.chat.notebook.followCellExecution.enabled (实验性) 在编辑器中显示当前正在执行的单元格。 |
false |
辅助功能设置
| 设置和描述 | 默认值 |
|---|---|
| inlineChat.accessibleDiffView 内联聊天是否也为更改渲染可访问的 diff 查看器。 |
"auto" |
| accessibility.signals.chatRequestSent 发送聊天请求时播放信号 - 声音(音频提示)和/或公告(警报)。 |
{ "sound": "auto", "announcement": "auto" } |
| accessibility.signals.chatResponseReceived 收到响应时播放声音 / 音频提示。 |
{ "sound": "auto" } |
| accessibility.signals.chatEditModifiedFile 当文件被聊天编辑修改时播放声音 / 音频提示。 |
{ "sound": "auto" } |
| accessibility.signals.chatUserActionRequired 当用户需要在聊天中执行操作时播放声音 / 音频提示。 |
{ "sound": "auto", "announcement": "auto" } |
| accessibility.signals.lineHasInlineSuggestion 当光标位于有行内建议的行上时播放声音 / 音频提示。 |
{ "sound": "auto" } |
| accessibility.signals.nextEditSuggestion 当下一编辑建议可用时播放声音 / 音频提示。 |
{ "sound": "auto", "announcement": "auto" } |
| accessibility.verboseChatProgressUpdates 提供关于聊天活动的详细更新。 |
true |
| accessibility.verbosity.inlineChat 提供关于如何访问行内编辑器聊天辅助功能菜单的信息,并在输入框获得焦点时发出提示,描述如何使用该功能。 |
true |
| accessibility.verbosity.inlineCompletions 提供关于如何访问行内建议悬停和可访问视图的信息。 |
true |
| accessibility.verbosity.panelChat 当聊天输入框获得焦点时,提供关于如何访问聊天帮助菜单的信息。 |
true |
| accessibility.voice.keywordActivation 控制是否识别关键词短语“嘿 Code”来启动语音聊天会话。 |
"off" |
| accessibility.voice.autoSynthesize 当语音被用作输入时,控制是否自动朗读文本响应。 |
"off" |
| accessibility.voice.speechTimeout 停止说话后语音识别保持激活的持续时间(以毫秒为单位)。 |
1200 |