使用 /settings 命令来控制您的 Gemini CLI 体验。/settings 命令会打开一个对话框,以查看和编辑您所有的 Gemini CLI 设置,包括 UI 体验、快捷键绑定和可访问性特性。
您的 Gemini CLI 设置存储在一个 settings.json 文件中。除了使用 /settings 命令外,您还可以在以下位置之一进行编辑:
- 用户设置:
~/.gemini/settings.json
- 工作空间设置:
your-project/.gemini/settings.json
注意:工作空间设置将覆盖用户设置。
以下是所有可用设置的列表,按照类别分组并按照 UI 中的显示顺序排列。
| UI 标签 | 设置 | 描述 | 默认 |
|---|
| 预览功能(例如,模型) | general.previewFeatures | 启用预览功能(例如,预览模型)。 | false |
| Vim 模式 | general.vimMode | 启用 Vim 键绑定。 | false |
| 禁用自动更新 | general.disableAutoUpdate | 禁用自动更新。 | false |
| 启用提示补全 | general.enablePromptCompletion | 在键入时启用 AI 动力的提示补全建议。 | false |
| 调试按键日志记录 | general.debugKeystrokeLogging | 启用将按键记录到控制台的调试日志。 | false |
| 会话保留 | general.sessionRetention | 自动会话清理的设置。此功能默认禁用。 | undefined |
| 启用会话清理 | general.sessionRetention.enabled | 启用自动会话清理。 | false |
| UI 标签 | 设置 | 描述 | 默认 |
|---|
| 输出格式 | output.format | CLI 输出的格式。可以是 text 或 json。 | text |
| UI 标签 | 设置 | 描述 | 默认值 |
|---|
| 隐藏窗口标题 | ui.hideWindowTitle | 隐藏窗口标题栏。 | false |
| 在标题中显示状态 | ui.showStatusInTitle | 在终端窗口标题中显示 Gemini CLI 状态和思考。 | false |
| 隐藏提示 | ui.hideTips | 在用户界面中隐藏有用的提示。 | false |
| 隐藏横幅 | ui.hideBanner | 隐藏应用程序横幅。 | false |
| 隐藏上下文摘要 | ui.hideContextSummary | 隐藏输入上方的内容摘要(GEMINI.md,MCP 服务器)。 | false |
| 隐藏 CWD | ui.footer.hideCWD | 在页脚中隐藏当前工作目录路径。 | false |
| 隐藏沙盒状态 | ui.footer.hideSandboxStatus | 在页脚中隐藏沙盒状态指示器。 | false |
| 隐藏模型信息 | ui.footer.hideModelInfo | 在页脚中隐藏模型名称和上下文使用情况。 | false |
| 隐藏上下文窗口百分比 | ui.footer.hideContextPercentage | 隐藏上下文窗口剩余百分比。 | true |
| 隐藏页脚 | ui.hideFooter | 从用户界面中隐藏页脚。 | false |
| 显示内存使用 | | | |
| 显示内存使用信息 | 在用户界面中显示内存使用信息。 | 显示行号 | 在聊天中显示行号。 | 显示引用 | 在聊天中为生成的文本显示引用。 | 使用全宽 | 在输出时使用终端的整个宽度。 | 使用备用屏幕缓冲区 | 为用户界面使用备用屏幕缓冲区,保留 shell 历史。 | 禁用加载短语 | 为了可访问性,禁用加载短语。 | 屏幕阅读器模式 | 以纯文本形式渲染输出,以便屏幕阅读器更容易访问。 |
| UI 标签 | 设置 | 描述 | 默认值 |
|---|
| IDE 模式 | ide.enabled | 启用 IDE 集成模式。 | false |
| UI 标签 | 设置 | 描述 | 默认值 |
|---|
| 最大会话轮次 | model.maxSessionTurns | 在一个会话中保持的用户/模型/工具轮次的最大数量。-1 表示无限制。 | -1 |
| 压缩阈值 | model.compressionThreshold | 触发上下文压缩的上下文使用比例(例如 0.2、0.3)。 | 0.2 |
| 跳过下一说话人检查 | model.skipNextSpeakerCheck | 跳过下一次说话人检查。 | true |
| UI 标签 | 设置 | 描述 | 默认值 |
|---|
| 内存发现最大目录数 | context.discoveryMaxDirs | 搜索内存时最大目录数量。 | 200 |
| 从包含目录加载内存 | context.loadMemoryFromIncludeDirectories | 控制 /memory refresh 如何加载 GEMINI.md 文件。为 true 时,扫描包含的目录;为 false 时,仅使用当前目录。 | false |
| 尊重 .gitignore | context.fileFiltering.respectGitIgnore | 搜索时尊重 .gitignore 文件。 | true |
| 尊重 .geminiignore | context.fileFiltering.respectGeminiIgnore | 搜索时尊重 .geminiignore 文件。 | true |
| 启用递归文件搜索 | context.fileFiltering.enableRecursiveFileSearch | 在提示中完成 @ 引用时启用递归文件搜索功能。 | true |
| 禁用模糊搜索 | context.fileFiltering.disableFuzzySearch | 搜索文件时禁用模糊搜索。 | false |
| UI 标签 | 设置 | 描述 | 默认值 |
|---|
| 启用交互式 Shell | tools.shell.enableInteractiveShell | 使用 node-pty 获得交互式 Shell 体验。仍然会回退到 child_process。 | true |
| 显示颜色 | tools.shell.showColor | 在 Shell 输出中显示颜色。 | false |
| 自动接受 | tools.autoAccept | 自动接受并执行被认为是安全的工具调用(例如,只读操作)。 | false |
| 使用 Ripgrep | tools.useRipgrep | 使用 ripgrep 进行文件内容搜索,而不是回退实现。提供更快的搜索性能。 | true |
| 启用工具输出截断 | tools.enableToolOutputTruncation | 启用大工具输出的截断。 | true |
| 工具输出截断阈值 | tools.truncateToolOutputThreshold | 如果工具输出超过此字符数,则进行截断。设置为 -1 以禁用。 | 10000 |
| 工具输出截断行数 | tools.truncateToolOutputLines | 截断工具输出时要保留的行数。 | 100 |
(以下部分原文没有具体内容,只需复制 UI 标签部分以保持格式一致)
| UI 标签 | 设置 | 描述 | 默认值 |
|---|
| 禁用 YOLO 模式 | /settings | 即使通过标志启用,也禁用 YOLO 模式。 | /settings |
| 阻止从 Git 安装扩展 | /settings | 阻止从 Git 安装和加载扩展。 | settings.json |
| 文件夹信任 | /settings | 设置以跟踪是否启用了文件夹信任。 | ~/.gemini/settings.json |
| 允许的环境变量 | your-project/.gemini/settings.json | 总是允许的环境变量(绕过遮挡)。 | general.previewFeatures |
| 阻止的环境变量 | false | 总是遮挡的环境变量。 | general.vimMode |
| UI 标签 | 设置 | 描述 | 默认值 |
|---|
| 启用代码库调查员 | experimental.codebaseInvestigatorSettings.enabled | 启用代码库调查员代理。 | true |
| 代码库调查员最大轮数 | experimental.codebaseInvestigatorSettings.maxNumTurns | 代码库调查员代理的最大轮数。 | 10 |
| 启用 CLI 帮助代理 | experimental.cliHelpAgentSettings.enabled | 启用 CLI 帮助代理。 | true |
| 代理技能 | experimental.skills | 启用代理技能(实验性)。 | false |