参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

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
为聊天响应指定区域设置,例如 enfr
"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
启用或禁用在需要用户输入时显示操作系统通知窗口。
true
chat.math.enabled (预览功能)
在聊天中启用或禁用使用KaTeX进行数学公式渲染。
false
github.copilot.chat.codesearch.enabled (预览功能)
在提示中使用 #codebase 时,Copilot 会自动发现需要编辑的相关文件。
false
github.copilot.chat.edits.suggestRelatedFilesFromGitHistory (实验性功能)
在聊天上下文中从 git 历史记录中建议相关文件。
true
chat.sendElementsToChat.enabled (实验性功能)
启用将简单浏览器中的元素作为上下文发送到聊天视图。
true
chat.useAgentsMdFile (实验性功能)
启用或禁用使用工作区根目录下的 AGENTS.md 文件作为聊天请求的上下文。
true

代理模式设置

设置与描述 默认值
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
管理可以在 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.global.autoApprove
自动批准所有工具 - 此设置会禁用关键的安全保护措施
false
chat.mcp.autoStart (实验性功能)
检测到 MCP 配置更改时自动启动 MCP 服务器。
never
chat.todoListTool.enabled (实验性功能)
在聊天中启用待办事项列表工具。
false
github.copilot.chat.newWorkspaceCreation.enabled (实验性功能)
启用代理模式工具,以便在聊天中搭建新工作区。
true
github.copilot.chat.agent.thinkingTool (实验性功能)
在代理模式下启用思考工具。
false
github.copilot.chat.virtualTools.threshold (实验性功能)
工具数量的阈值,超过此阈值应使用虚拟工具。虚拟工具将相似的工具集组合在一起,并使模型能够按需激活它们。这使您能够突破聊天请求中 128 个工具的限制。
128

内联聊天设置

设置与描述 默认值
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 (实验性功能)
启用实验性的 /setupTests 意图并在 /tests 生成中进行提示。
true

Notebook 设置

设置与描述 默认值
notebook.experimental.generate (实验性功能)
启用生成操作,以通过 notebook 内联聊天创建代码单元格。
true
github.copilot.chat.edits.newNotebook.enabled (实验性功能)
在编辑模式下启用 notebook 工具以创建新的 notebook 文件。
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.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