OpenCode テーマ

OpenCode は複数のテーマシステムをサポートしており、組み込みテーマ、ターミナルテーマへの自動適応、または完全なカスタムテーマを選択して、一貫性のある快適なターミナル体験を得ることができます。

最も簡単な方法は、TUI の入力ボックスに /themes コマンドを入力することです:

/themes

次に、表示されたウィンドウで好みのテーマを選択します:


ターミナルの要件

テーマが完全な色を正しく表示するには、ターミナルが以下のサポートが必要ですトゥルーカラー(24ビット色)。

  • サポート状況の確認:
echo $COLORTERM

出力は次のようになります:

truecolor
或
24bit
  • トゥルーカラーの有効化:
export COLORTERM=truecolor
  • 一般的な対応ターミナル:
  • iTerm2
  • Alacritty
  • Kitty
  • Windows Terminal
  • GNOME Terminal(新しいバージョン)

ターミナルがトゥルーカラーをサポートしていない場合、テーマは256色にフォールバックし、色が歪む可能性があります。


組み込みテーマ

OpenCode には複数のテーマが組み込まれており、すぐに使用できます:

テーマ名 説明
systemターミナルテーマに自動適応
tokyonightTokyonight スタイル
everforestEverforest スタイル
ayuAyu ダークテーマ
catppuccinCatppuccin テーマ
catppuccin-macchiatoCatppuccin 変種
gruvboxGruvbox スタイル
kanagawaKanagawa スタイル
nordNord スタイル
matrixハッカースタイル(黒背景に緑文字)
one-darkAtom One Dark

system テーマ(推奨)

systemテーマはターミナルの配色に自動的に適応します:

  • ターミナルの背景に基づいてグレースケール階層を生成
  • ANSI 標準色を使用
  • ターミナルのデフォルトのテキストと背景を維持

適用対象:

  • カスタムターミナルテーマを使用するユーザー
  • すべてのターミナルツールのスタイルを統一したいユーザー

テーマの使用

方法1:TUI でテーマを選択

/themes

方法2:設定ファイルで設定

tui.json

{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "tokyonight"
}

カスタムテーマ

OpenCode は JSON による完全なカスタムテーマの定義をサポートしています。

テーマの読み込み優先順位

  • 組み込みテーマ
  • ユーザーディレクトリ:~/.config/opencode/themes/
  • プロジェクトディレクトリ:.opencode/themes/
  • カレントディレクトリ:./.opencode/themes/

後から読み込まれたテーマが前のテーマを上書きします。


テーマの作成

ユーザーレベルのテーマ:

mkdir -p ~/.config/opencode/themes
vim ~/.config/opencode/themes/my-theme.json

プロジェクトレベルのテーマ:

mkdir -p .opencode/themes
vim .opencode/themes/my-theme.json

テーマ形式の説明

以下の形式をサポート:

  • 16進数カラー:#ffffff
  • ANSI カラー:0-255
  • 色の参照:primary
  • ライト/ダークモード:
{
  "dark": "#000000",
  "light": "#FFFFFF"
}
  • ターミナルのデフォルトを継承:
"text": "none"

完全な例

my-theme.json

{
  "$schema": "https://opencode.ai/theme.json",
  "defs": {
    "bg": "#1E1E2E",
    "fg": "#CDD6F4",
    "primary": "#89B4FA",
    "accent": "#F38BA8",
    "success": "#7DB0E3",
    "warning": "#F9E2AF"
  },
  "theme": {
    "primary": {
      "dark": "primary",
      "light": "#005F87"
    },
    "accent": {
      "dark": "accent",
      "light": "#D7005F"
    },
    "background": {
      "dark": "bg",
      "light": "#FFFFFF"
    },
    "text": {
      "dark": "fg",
      "light": "#000000"
    },
    "border": {
      "dark": "#313244",
      "light": "#CCCCCC"
    },
    "syntaxKeyword": {
      "dark": "primary",
      "light": "#0000FF"
    },
    "syntaxString": {
      "dark": "success",
      "light": "#0053A6"
    },
    "syntaxComment": {
      "dark": "#6C7086",
      "light": "#999999"
    }
  }
}

まとめ

OpenCode テーマシステムには以下の特徴があります:

  • 組み込みテーマをサポートし、すぐに使える
  • system によるターミナル自動適応をサポート
  • JSON によるカスタムテーマをサポート
  • マルチレベルの上書きメカニズムをサポート

究極の体験を求めるなら、以下をお勧めします:

  • ターミナルで truecolor を有効にする
  • system テーマまたはカスタムテーマを優先的に使用する
その他の拡張