GitHub Copilot in VS Code 设置参考
本文列出了 Visual Studio Code 中 GitHub Copilot 的配置设置。有关在 VS Code 中使用设置的常规信息,请参阅用户和工作区设置。
团队正在不断努力改进 VS Code 中的 Copilot 并添加新功能。某些功能仍处于实验阶段。请尝试使用它们并在我们的问题中分享您的反馈。获取有关 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 使用 /new 时使用相关的 GitHub 项目作为入门项目。 |
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 启用或禁用在需要用户输入时显示 OS 通知窗口。 |
true |
| chat.notifyWindowOnResponseReceived 启用或禁用在收到聊天回复时显示 OS 通知窗口。 |
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 (实验性) 启用将 Simple Browser 中的元素作为上下文发送到聊天视图。 |
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 管理哪些模型上下文协议 (MCP) 服务器可用于 VS Code。 |
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 行内聊天是否也为其更改渲染可访问的差异查看器。 |
"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 控制是否识别关键词短语“Hey Code”以开始语音聊天会话。 |
"off" |
| accessibility.voice.autoSynthesize 控制当使用语音作为输入时,是否应自动朗读文本回复。 |
"off" |
| accessibility.voice.speechTimeout 停止说话后语音识别保持活动状态的毫秒持续时间。 |
1200 |