Thème OpenCode

OpenCode prend en charge plusieurs systèmes de thèmes. Vous pouvez choisir un thème intégré, vous adapter automatiquement au thème du terminal, ou personnaliser entièrement le thème, pour une expérience de terminal cohérente et confortable.

La façon la plus simple est de saisir la commande /themes dans la zone de saisie de la TUI :

/themes

Choisissez ensuite votre thème préféré dans la fenêtre contextuelle :


Prérequis du terminal

Pour garantir que les thèmes peuvent afficher correctement toutes les couleurs, votre terminal doit prendre en chargeTrue color (24-bit color)。

  • Vérifier la prise en charge :
echo $COLORTERM

La sortie devrait être :

truecolor
ou 
24bit
  • Activation des couleurs vraies :
export COLORTERM=truecolor
  • Terminaux couramment pris en charge :
  • iTerm2
  • Alacritty
  • Kitty
  • Windows Terminal
  • GNOME Terminal (nouvelle version)

Si le terminal ne prend pas en charge les couleurs vraies, le thème se rabattra sur 256 couleurs, ce qui peut causer une distorsion des couleurs.


Thèmes intégrés

OpenCode inclut plusieurs thèmes intégrés, prêts à l'emploi :

Nom du thème Description
systemAdaptation automatique au thème du terminal
tokyonightStyle Tokyonight
everforestStyle Everforest
ayuThème sombre Ayu
catppuccinThème Catppuccin
catppuccin-macchiatoVariante Catppuccin
gruvboxStyle Gruvbox
kanagawaStyle Kanagawa
nordStyle Nord
matrixStyle Hacker (fond noir avec texte vert)
one-darkAtom One Dark

Thème système (recommandé)

SystèmeLe thème s'adapte automatiquement au jeu de couleurs de votre terminal :

  • Génère des niveaux de gris en fonction du fond du terminal
  • Utilise les couleurs standard ANSI
  • Préserve le texte et l'arrière-plan par défaut du terminal

Adapté à :

  • Utilisateurs avec des thèmes de terminal personnalisés
  • Utilisateurs qui souhaitent un style cohérent sur tous les outils de terminal

Utilisation des thèmes

Méthode 1 : Sélectionner un thème dans le TUI

/themes

Méthode 2 : Définir via le fichier de configuration

tui.json

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

Thèmes personnalisés

OpenCode prend en charge les thèmes entièrement personnalisés définis via JSON.

Priorité de chargement des thèmes

  • Thèmes intégrés
  • Répertoire utilisateur : ~/.config/opencode/themes/
  • Répertoire du projet : .opencode/themes/
  • Répertoire actuel : ./.opencode/themes/

Les thèmes chargés plus tard remplaceront les précédents.


Création de thèmes

Thèmes au niveau utilisateur :

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

Thèmes au niveau projet :

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

Explication du format des thèmes

Prend en charge les formats suivants :

  • Couleur hexadécimale : #ffffff
  • Couleurs ANSI : 0-255
  • Référence de couleur : primary
  • Mode clair/sombre :
{
  "dark": "#000000",
  "light": "#FFFFFF"
}
  • Hériter de la valeur par défaut du terminal :
"text": "none"

Exemple complet

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"
    }
  }
}

Résumé

Le système de thèmes d'OpenCode présente les fonctionnalités suivantes :

  • Prend en charge les thèmes intégrés, prêts à l'emploi
  • Prend en charge l'auto-adaptation du système au terminal
  • Prend en charge les thèmes personnalisés JSON
  • Prend en charge un mécanisme de surcharge à plusieurs niveaux

Si vous recherchez l'expérience ultime, il est recommandé de :

  • Activez truecolor dans votre terminal
  • Préférez le thème système ou un thème personnalisé
Autres extensions