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 (实验性): 控制命令面板应在哪里提问聊天问题。
- search.searchView.semanticSearchBehavior (预览): 配置何时在搜索视图中运行语义搜索:手动(默认)、未找到文本搜索结果时或始终。
- search.searchView.keywordSuggestions (预览): 控制是否在搜索视图中显示关键词建议。此设置默认禁用。
- workbench.settings.showAISearchToggle (实验性): 在设置编辑器中启用通过 AI 搜索设置。此设置默认启用。
代码补全设置
- 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 请求一起发送。
自定义聊天
- 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 (实验性): 提示文件所在的文件夹列表。相对路径将从工作区的根文件夹解析。支持文件路径的 glob 模式。
- chat.instructionsFilesLocations (实验性): 指令文件所在的文件夹列表。相对路径将从工作区的根文件夹解析。支持文件路径的 glob 模式。
- chat.modeFilesLocations (实验性): 聊天模式文件所在的文件夹列表。相对路径将从工作区的根文件夹解析。支持文件路径的 glob 模式。
调试设置
- 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: 停止说话后,语音识别保持活动状态的持续时间(毫秒)。