VS Code 中 GitHub Copilot 设置参考
本文列出了 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 |
聊天设置
代理模式设置
| 设置和描述 | 默认值 |
|---|---|
| chat.agent.enabled 启用或禁用代理模式(需要 VS Code 1.99 或更高版本)。 |
true |
| chat.agent.maxRequests Copilot 在代理模式下可以发出的最大请求数。 |
25 |
| github.copilot.chat.agent.autoFix 自动诊断并修复生成的代码更改中的问题。 |
true |
| github.copilot.chat.agent.runTasks 在使用代理模式时运行工作区任务。 |
true |
| chat.mcp.access 管理哪些模型上下文协议(MCP)服务器可以在 VS Code 中使用。 |
true |
| chat.mcp.discovery.enabled 配置从其他应用程序自动发现 MCP 服务器配置。 |
false |
| chat.mcp.gallery.enabled 通过 VS Code 中的扩展视图启用浏览和安装 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.global.autoApprove 自动批准所有工具 - 此设置禁用关键安全保护。 |
false |
| chat.agent.thinkingStyle (实验性) 配置思考令牌在聊天中的呈现方式。 |
fixedScrolling |
| chat.mcp.autoStart (实验性) 当检测到 MCP 配置更改时自动启动 MCP 服务器。 |
newAndOutdated |
| chat.todoListWidget.position (实验性) 配置聊天中待办事项列表控件的可见性和位置。 |
false |
| github.copilot.chat.newWorkspaceCreation.enabled (实验性) 启用代理模式工具,用于在聊天中搭建新工作区。 |
true |
| github.copilot.chat.agent.thinkingTool (实验性) 在代理模式下启用思考工具。 |
false |
| github.copilot.chat.virtualTools.threshold (实验性) 超出该工具数量时应使用虚拟工具。虚拟工具将相似的工具组在一起,并使模型能够按需激活它们。使您能够突破聊天请求 128 个工具的限制。 |
128 |
代理会话
聊天会话视图提供了一个集中位置,用于管理本地聊天对话和远程编码代理会话。此视图使您能够同时处理多个 AI 会话,跟踪其进度并高效管理长期运行的任务。
| 设置和描述 | 默认值 |
|---|---|
| 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 审查当前编辑器选择的请求的自定义说明。 |
[] |
自定义说明设置
| 设置和描述 | 默认值 |
|---|---|
| github.copilot.chat.codeGeneration.useInstructionFiles 自动将 .github/copilot-instructions.md中的自定义说明添加到聊天请求。 |
true |
| chat.instructionsFilesLocations (实验性) 搜索自定义说明文件的位置。相对路径从工作区的根文件夹解析。支持文件路径的 glob 模式。 |
{ ".github/instructions": true } |
| github.copilot.chat.commitMessageGeneration.instructions (实验性) 使用 AI 生成提交消息的自定义说明。 |
[] |
| github.copilot.chat.pullRequestDescriptionGeneration.instructions (实验性) 使用 AI 生成拉取请求标题和描述的自定义说明。 |
[] |
可重用提示文件设置
| 设置和描述 | 默认值 |
|---|---|
| chat.promptFiles (实验性) 启用或禁用可重用提示文件。 |
true |
| chat.promptFilesLocations (实验性) 搜索提示文件的位置。相对路径从工作区的根文件夹解析。支持文件路径的 glob 模式。 |
{ ".github/prompts": true } |
聊天模式设置
| 设置和描述 | 默认值 |
|---|---|
| chat.modeFilesLocations (实验性) 搜索聊天模式文件的位置。相对路径从工作区的根文件夹解析。支持文件路径的 glob 模式。 |
{ ".github/chatmodes": true } |
调试设置
| 设置和描述 | 默认值 |
|---|---|
| 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 (实验性) 在 /tests生成中启用实验性/setupTests意图和提示。 |
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 |