-
Notifications
You must be signed in to change notification settings - Fork 0
Theme Customization
VimCode ships with 4 built-in color themes and supports importing VSCode color themes.
| Name | Description |
|---|---|
onedark |
One Dark (default) — dark background with muted colors |
gruvbox-dark |
Gruvbox Dark — warm retro colors |
tokyo-night |
Tokyo Night — blue-tinted dark theme |
solarized-dark |
Solarized Dark — Ethan Schoonover's precision colors |
:colorscheme gruvbox-dark " Switch to Gruvbox
:colorscheme " List all available themesOr change in settings.json:
{
"colorscheme": "tokyo-night"
}The theme can also be changed from the Settings sidebar (gear icon in the activity bar) — the colorscheme picker shows all available themes including custom ones.
VimCode can load VSCode color theme .json files directly:
-
Find a theme — download a VSCode
.jsontheme file (e.g., from a VS Code extension'sthemes/directory) -
Place it in the themes directory:
mkdir -p ~/.config/vimcode/themes cp my-theme.json ~/.config/vimcode/themes/
-
Activate it:
:colorscheme my-theme
The theme name is derived from the filename (without .json).
VimCode reads the following from VSCode theme JSON files:
- Editor colors: background, foreground, selection, cursor, line highlight
-
Syntax colors: from
tokenColors— keywords, strings, comments, functions, types, etc. - UI colors: sidebar, activity bar, status bar, tab bar
- Semantic token colors: if the theme defines them
- Not all VSCode theme properties are supported — VimCode maps the most common ones
- Some VSCode themes rely on editor-specific token scopes that may not map perfectly to VimCode's tree-sitter-based highlighting
- Themes designed for specific VS Code extensions may have unsupported properties
The Settings sidebar (gear icon) includes a Colorscheme picker that:
- Lists all built-in themes
- Lists all custom
.jsonthemes from~/.config/vimcode/themes/ - Applies the theme immediately on selection
- Persists the choice to
settings.json
VimCode's theme system includes 8 semantic token colors that overlay tree-sitter highlighting when LSP semantic tokens are available:
| Token type | Description |
|---|---|
parameter |
Function parameters |
property |
Object/struct properties |
namespace |
Namespaces/modules |
enum_member |
Enum variants |
interface |
Interfaces/traits |
type_parameter |
Generic type parameters |
decorator |
Decorators/attributes |
macro |
Macros |
These colors are defined in each built-in theme and can be customized in imported themes via VSCode's semanticTokenColors section.