mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
165 lines
7.0 KiB
Markdown
165 lines
7.0 KiB
Markdown
# Themes
|
|
|
|
Qwen Code supports a variety of themes to customize its color scheme and appearance. You can change the theme to suit your preferences via the `/theme` command or `"theme":` configuration setting.
|
|
|
|
## Available Themes
|
|
|
|
Qwen Code comes with a selection of pre-defined themes, which you can list using the `/theme` command within the CLI:
|
|
|
|
- **Dark Themes:**
|
|
- `ANSI`
|
|
- `Atom One`
|
|
- `Ayu`
|
|
- `Default`
|
|
- `Dracula`
|
|
- `GitHub`
|
|
- **Light Themes:**
|
|
- `ANSI Light`
|
|
- `Ayu Light`
|
|
- `Default Light`
|
|
- `GitHub Light`
|
|
- `Google Code`
|
|
- `Xcode`
|
|
|
|
### Changing Themes
|
|
|
|
1. Enter `/theme` into Qwen Code.
|
|
2. A dialog or selection prompt appears, listing the available themes.
|
|
3. Using the arrow keys, select a theme. Some interfaces might offer a live preview or highlight as you select.
|
|
4. Confirm your selection to apply the theme.
|
|
|
|
**Note:** If a theme is defined in your `settings.json` file (either by name or by a file path), you must remove the `"theme"` setting from the file before you can change the theme using the `/theme` command.
|
|
|
|
### Theme Persistence
|
|
|
|
Selected themes are saved in Qwen Code's [configuration](../configuration/settings) so your preference is remembered across sessions.
|
|
|
|
---
|
|
|
|
## Custom Color Themes
|
|
|
|
Qwen Code allows you to create your own custom color themes by specifying them in your `settings.json` file. This gives you full control over the color palette used in the CLI.
|
|
|
|
### How to Define a Custom Theme
|
|
|
|
Add a `customThemes` block to your user, project, or system `settings.json` file. Each custom theme is defined as an object with a unique name and a set of color keys. For example:
|
|
|
|
```json
|
|
{
|
|
"ui": {
|
|
"customThemes": {
|
|
"MyCustomTheme": {
|
|
"name": "MyCustomTheme",
|
|
"type": "custom",
|
|
"Background": "#181818",
|
|
...
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**Color keys:**
|
|
|
|
- `Background`
|
|
- `Foreground`
|
|
- `LightBlue`
|
|
- `AccentBlue`
|
|
- `AccentPurple`
|
|
- `AccentCyan`
|
|
- `AccentGreen`
|
|
- `AccentYellow`
|
|
- `AccentRed`
|
|
- `Comment`
|
|
- `Gray`
|
|
- `DiffAdded` (optional, for added lines in diffs)
|
|
- `DiffRemoved` (optional, for removed lines in diffs)
|
|
- `DiffModified` (optional, for modified lines in diffs)
|
|
|
|
**Required Properties:**
|
|
|
|
- `name` (must match the key in the `customThemes` object and be a string)
|
|
- `type` (must be the string `"custom"`)
|
|
- `Background`
|
|
- `Foreground`
|
|
- `LightBlue`
|
|
- `AccentBlue`
|
|
- `AccentPurple`
|
|
- `AccentCyan`
|
|
- `AccentGreen`
|
|
- `AccentYellow`
|
|
- `AccentRed`
|
|
- `Comment`
|
|
- `Gray`
|
|
|
|
You can use either hex codes (e.g., `#FF0000`) **or** standard CSS color names (e.g., `coral`, `teal`, `blue`) for any color value. See [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#color_keywords) for a full list of supported names.
|
|
|
|
You can define multiple custom themes by adding more entries to the `customThemes` object.
|
|
|
|
### Loading Themes from a File
|
|
|
|
In addition to defining custom themes in `settings.json`, you can also load a theme directly from a JSON file by specifying the file path in your `settings.json`. This is useful for sharing themes or keeping them separate from your main configuration.
|
|
|
|
To load a theme from a file, set the `theme` property in your `settings.json` to the path of your theme file:
|
|
|
|
```json
|
|
{
|
|
"ui": {
|
|
"theme": "/path/to/your/theme.json"
|
|
}
|
|
}
|
|
```
|
|
|
|
The theme file must be a valid JSON file that follows the same structure as a custom theme defined in `settings.json`.
|
|
|
|
**Example `my-theme.json`:**
|
|
|
|
```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"]
|
|
}
|
|
```
|
|
|
|
**Security Note:** For your safety, Gemini CLI will only load theme files that are located within your home directory. If you attempt to load a theme from outside your home directory, a warning will be displayed and the theme will not be loaded. This is to prevent loading potentially malicious theme files from untrusted sources.
|
|
|
|
### Example Custom Theme
|
|
|
|
|
|
|
|
<img src="https://gw.alicdn.com/imgextra/i1/O1CN01Em30Hc1jYXAdIgls3_!!6000000004560-2-tps-1009-629.png" alt=" " style="zoom:100%;text-align:center;margin: 0 auto;" />
|
|
|
|
### Using Your Custom Theme
|
|
|
|
- Select your custom theme using the `/theme` command in Qwen Code. Your custom theme will appear in the theme selection dialog.
|
|
- Or, set it as the default by adding `"theme": "MyCustomTheme"` to the `ui` object in your `settings.json`.
|
|
- Custom themes can be set at the user, project, or system level, and follow the same [configuration precedence](../configuration/settings) as other settings.
|
|
|
|
|
|
|
|
## Themes Preview
|
|
|
|
| Dark Theme | Preview | Light Theme | Preview |
|
|
| :-: | :-: | :-: | :-: |
|
|
| ANSI | <img src="https://gw.alicdn.com/imgextra/i2/O1CN01ZInJiq1GdSZc9gHsI_!!6000000000645-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | ANSI Light | <img src="https://gw.alicdn.com/imgextra/i2/O1CN01IiJQFC1h9E3MXQj6W_!!6000000004234-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> |
|
|
| Atom OneDark | <img src="https://gw.alicdn.com/imgextra/i2/O1CN01Zlx1SO1Sw21SkTKV3_!!6000000002310-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | Ayu Light | <img src="https://gw.alicdn.com/imgextra/i3/O1CN01zEUc1V1jeUJsnCgQb_!!6000000004573-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
|
|
| Ayu | <img src="https://gw.alicdn.com/imgextra/i3/O1CN019upo6v1SmPhmRjzfN_!!6000000002289-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> | Default Light | <img src="https://gw.alicdn.com/imgextra/i4/O1CN01RHjrEs1u7TXq3M6l3_!!6000000005990-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
|
|
| Default | <img src="https://gw.alicdn.com/imgextra/i4/O1CN016pIeXz1pFC8owmR4Q_!!6000000005330-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | GitHub Light | <img src="https://gw.alicdn.com/imgextra/i4/O1CN01US2b0g1VETCPAVWLA_!!6000000002621-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
|
|
| Dracula | <img src="https://gw.alicdn.com/imgextra/i4/O1CN016htnWH20c3gd2LpUR_!!6000000006869-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | Google Code | <img src="https://gw.alicdn.com/imgextra/i1/O1CN01Ng29ab23iQ2BuYKz8_!!6000000007289-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
|
|
| GitHub | <img src="https://gw.alicdn.com/imgextra/i4/O1CN01fFCRda1IQIQ9qDNqv_!!6000000000887-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> | Xcode | <img src="https://gw.alicdn.com/imgextra/i1/O1CN010E3QAi1Huh5o1E9LN_!!6000000000818-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
|