主题

Gemini CLI 支持多种主题,可自定义配色与视觉效果。你可以通过 /theme 命令切换,也可以在配置中设置 "theme"

可用主题

在 CLI 内输入 /theme 会列出所有内置主题。

  • 深色主题:
    • ANSI
    • Atom One
    • Ayu
    • Default
    • Dracula
    • GitHub
  • 浅色主题:
    • ANSI Light
    • Ayu Light
    • Default Light
    • GitHub Light
    • Google Code
    • Xcode

切换主题

  1. 在 CLI 中输入 /theme
  2. 将显示一个主题列表,可使用方向键选择。
  3. 某些界面会提供实时预览或高亮提示。
  4. 确认即可应用主题。

提示: 如果 settings.json 中已经固定了 "theme"(名称或文件路径),需先移除该配置才能通过 /theme 命令切换。

主题持久化

选定的主题会写入配置,跨会话保留。


自定义主题

你可以在 settings.json 中定义自己的颜色主题,实现完全自定义的配色。

定义方式

在用户、项目或系统级的 settings.json 中添加 customThemes

{
  "ui": {
    "customThemes": {
      "MyCustomTheme": {
        "name": "MyCustomTheme",
        "type": "custom",
        "Background": "#181818"
        /* 其他颜色键 */
      }
    }
  }
}

颜色键包含:

  • Background
  • Foreground
  • LightBlue
  • AccentBlue
  • AccentPurple
  • AccentCyan
  • AccentGreen
  • AccentYellow
  • AccentRed
  • Comment
  • Gray
  • DiffAdded(可选,用于 diff 新增)
  • DiffRemoved(可选,用于 diff 删除)
  • DiffModified(可选,用于 diff 修改)

必填属性:

  • name(必须与 customThemes 中的键一致)
  • type(必须为字符串 "custom"
  • 上述必填颜色键

颜色值可以使用十六进制(如 #FF0000)或标准 CSS 颜色名(如 tealcoral),参考 CSS color names。一个文件中可以定义多个自定义主题。

从文件加载主题

除了直接写在 settings.json,你还可以通过 theme 属性加载独立 JSON 文件:

{
  "ui": {
    "theme": "/path/to/your/theme.json"
  }
}

该 JSON 文件需与自定义主题结构一致。

示例 my-theme.json

{
  "name": "My File Theme",
  "type": "custom",
  "Background": "#282A36",
  "Foreground": "#F8F8F2",
  "LightBlue": "#82AAFF",
  "AccentBlue": "#61AFEF",
  "AccentPurple": "#BD93F9",
  "AccentCyan": "#8BE9FD",
  "AccentGreen": "#50FA7B",
  "AccentYellow": "#F1FA8C",
  "AccentRed": "#FF5555",
  "Comment": "#6272A4",
  "Gray": "#ABB2BF",
  "DiffAdded": "#A6E3A1",
  "DiffRemoved": "#F38BA8",
  "DiffModified": "#89B4FA",
  "GradientColors": ["#4796E4", "#847ACE", "#C3677F"]
}

安全提示: 为确保安全,Gemini CLI 仅加载位于用户主目录下的主题文件;如果路径在主目录之外,主题不会被加载并给出警告,避免引入不可信文件。

自定义主题示例

自定义主题示例

使用自定义主题

  • 在 CLI 中执行 /theme,即可看到自定义主题并选择。
  • 或在 settings.json 中设置 "theme": "MyCustomTheme" 作为默认主题。
  • 自定义主题可作用于用户、项目或系统层级,并遵循配置优先级

深色主题

ANSI

ANSI 主题

Atom OneDark

Atom One 主题

Ayu

Ayu 主题

Default

默认主题

Dracula

Dracula 主题

GitHub

GitHub 主题

浅色主题

ANSI Light

ANSI Light 主题

Ayu Light

Ayu Light 主题

Default Light

Default Light 主题

GitHub Light

GitHub Light 主题

Google Code

Google Code 主题

Xcode

Xcode Light 主题