Kawaii VS Code Color

Kawaii VS Code Color provides dark pink and light green pastel-pink themes for Visual Studio Code, with optional glow effects, image-backed editor styling, theme-specific color customization, Settings Sync support, and JSON import/export.
Preview








User Guide
Installation
Install from the Visual Studio Marketplace:
Install from VS Code:
- Open the Extensions view.
- Search for
Kawaii VS Code Color.
- Select
Install.
Install from the command line:
code --install-extension ITEM-PIXEL.kawaii-vscode-color
If you received a .vsix file:
- Open the Extensions view.
- Select
Views and More Actions....
- Select
Install from VSIX....
- Choose the
.vsix file.
Setup
Enable the theme:
- Open the Command Palette.
- Run
Preferences: Color Theme.
- Select
Kawaii VS Code Color or Kawaii VS Code Color Light.
Open the extension settings:
- Open the Command Palette.
- Run
Kawaii VS Code Color: Settings.
- Use the side menu to switch between
Home, Settings, Color Settings, Neon Effect, Image Customization, Sync/Files, and Help.
The settings window opens as a normal editor tab.
Settings Window
| Area |
Purpose |
Home |
Shows project links and extension information. |
Settings |
Groups the main configuration controls for the active theme mode. |
Color Settings |
Changes theme mode and workbench or syntax color overrides. |
Neon Effect |
Enables or disables the unsupported VS Code workbench patch used for glow and image effects. |
Image Customization |
Stores editor background and no-tab logo image inputs used by the Neon Effect patch. |
Sync/Files |
Saves or restores settings through VS Code Settings Sync, JSON export, and JSON import. |
Help |
Shows repository, issue tracker, README/homepage, and publisher/contact links from project metadata. |
The settings webview must use the active editor theme for its own UI. Its CSS consumes VS Code webview tokens such as --vscode-editor-background, --vscode-foreground, --vscode-button-background, and --vscode-panel-border; it must not define a separate hardcoded product palette for page surfaces, text, controls, panels, or states.
Color Settings
The Color Settings page edits local user overrides for the selected theme mode.
- Dark edits are written to
[Kawaii VS Code Color].
- Light edits are written to
[Kawaii VS Code Color Light].
- Workbench colors are stored in
workbench.colorCustomizations.
- Syntax colors are stored in
editor.tokenColorCustomizations.
- Packaged theme source files are not modified.
Use Reset to remove one custom color. Use Reset All to remove all color customizations for the selected theme mode.
Image Customization
The Color Settings page can store one editor background image and one no-tab logo replacement.
| Setting |
Behavior |
Upload Image |
Selects a local editor background image. |
Upload Logo |
Selects a local no-tab logo image. |
Random Neko |
Fetches a non-NSFW random image and uses it as the selected image input. |
Download Image / Download Logo |
Saves the current stored image with a Save As dialog. |
Remove Image / Remove Logo |
Removes the stored image input. |
Opacity |
Controls the injected image layer opacity. |
Fit Area |
Fits the editor background image inside full, half, or corner regions. |
Supported image formats:
Images are capped at 2 MB. If preview or injected effects fail, try a smaller image resolution because image previews and Neon Effect injection use data URLs.
Image changes do not auto-apply. Click Apply Effects, then reload VS Code when prompted. If the editor does not refresh cleanly, close and open VS Code manually.
Sync, Export, and Import
| Button |
Behavior |
Save to VSSync |
Saves the current Kawaii VS Code Color settings bundle into VS Code synced extension global state. |
Import VSSync |
Restores the synced Kawaii VS Code Color settings bundle on another synced installation. |
Export As |
Saves the current settings bundle as a JSON file with a Save As dialog. |
Import |
Opens a JSON file picker and applies a previously exported settings bundle. |
The settings bundle includes:
- Active theme mode.
- Dark and light workbench color overrides.
- Dark and light token color overrides.
- Neon brightness and glow disable setting.
- Editor background image metadata, image bytes, opacity, and fit area.
- No-tab logo image metadata, image bytes, and opacity.
VS Code Settings Sync must be enabled in VS Code for Save to VSSync / Import VSSync to move data between machines.
Neon Effect
VS Code color themes do not natively support text glow, editor background images, no-tab logo replacement, or arbitrary editor CSS. Those effects are provided by the optional Neon Effect path.
The Neon Effect modifies VS Code workbench files by adding a generated neondreams.js script reference with a refresh key. Use it with caution:
- Administrator permissions may be required on Windows.
- VS Code may show an unsupported or corrupted installation warning.
- VS Code updates can overwrite the patch.
- Disable the effect before troubleshooting editor startup or workbench rendering issues.
Enable or disable the effect:
- Run
Kawaii VS Code Color: Settings.
- Open
Neon Effect.
- Use
Enable Neon Effect or Disable Neon Effect.
- Reload VS Code when prompted.
If VS Code shows the corruption warning, the Neon Effect page includes the official VS Code FAQ link and an optional checksum-fix community workaround. The supported recovery path is to disable Neon Effect and reinstall or repair VS Code so the modified workbench files are replaced.
VS Code Settings
Customize glow brightness:
{
"kawaii_synthwave.brightness": 0.45
}
The value should be a number from 0 to 1. The default is 0.45.
Keep editor chrome updates but disable token glow:
{
"kawaii_synthwave.disableGlow": true
}
After changing either setting, open Kawaii VS Code Color: Settings, apply the Neon Effect again, and reload VS Code.
Developer Guide
Local Setup
Install project dependencies:
npm install
Validate the extension metadata and scripts:
npm pkg get name version publisher dependencies devDependencies engines
npm run test:check
npm run test:unit
npm run test:dom
npm run test:integration
npm run test:e2e
npm run build:theme
Automated Tests
The project has four regular automated test layers, plus one gated Neon Effect E2E layer:
| Command |
Layer |
Purpose |
npm run test:check |
Static syntax check |
Runs node --check against runtime and build JavaScript files. |
npm run test:unit |
Unit tests without UI |
Uses Node's built-in test runner for build logic and workbench patch helpers. |
npm run test:dom |
DOM UI tests |
Uses jsdom to load the settings webview HTML, verify webview messages, app navigation, Help metadata, and --vscode-* token usage. |
npm run test:integration |
VS Code integration |
Uses @vscode/test-cli and @vscode/test-electron to activate the extension in an Extension Development Host and execute the settings command. |
npm run test:e2e |
Real VS Code UI E2E |
Uses ExTester/WebDriver to package the extension, open a disposable VS Code, run Kawaii VS Code Color: Settings, navigate the real webview, and validate safe UI flows. |
npm test |
Full suite |
Runs unit, DOM, and VS Code integration tests in sequence. |
npm run test:all |
Full suite plus safe E2E |
Runs npm test and then npm run test:e2e. |
The integration suite opens Kawaii VS Code Color: Settings, but it does not control the rendered VS Code window. The E2E suite does control the real window and webview, but it is still safe by default: it does not click Enable Neon Effect, Disable Neon Effect, Apply Effects, upload/import/export/download controls, or network-backed random image controls. E2E screenshots and state notes are written under test-results/e2e.
The real Neon Effect patch has its own gated command:
$env:KAWAII_E2E_ALLOW_NEON_PATCH = "1"
npm run test:e2e:neon
npm run test:e2e:neon patches only the disposable VS Code installation under .vscode-test/extest-111-neon. It runs three separate VS Code launches to validate the same lifecycle users may need manually: before applying, after applying and reopening VS Code, and after removing and reopening VS Code. It verifies the workbench HTML hash returns to the original baseline and that injected runtime CSS uses editor-provided --vscode-* tokens rather than a standalone UI palette.
Build a Local VSIX
Package the extension:
npm run build:local
Install the generated VSIX in VS Code:
code --install-extension .\dist\kawaii-vscode-color-<version>.vsix --force
For VS Code Insiders:
code-insiders --install-extension .\dist\kawaii-vscode-color-<version>.vsix --force
Theme Color Workflow
- Keep
themes/kawaii_synthwave-color-theme.json as the protected dark base theme.
- Keep
themes/kawaii_synthwave-color-theme-light.json as the protected light base theme.
- Put dark palette changes in
themes/kawaii_synthwave-color-theme-overrides.json.
- Put light palette changes in
themes/kawaii_synthwave-color-theme-light-overrides.json.
- Run
npm run build:theme to regenerate both generated theme JSON files.
- VS Code loads generated themes through
package.json.contributes.themes.
Manual Theme Test
- Open this repository in VS Code.
- Run
npm run build:theme.
- Press
F5 to launch the Extension Development Host.
- Select
Kawaii VS Code Color or Kawaii VS Code Color Light.
- Inspect representative files and use
Developer: Inspect Editor Tokens and Scopes for token rules.
Live Neon Effect testing is possible from the Extension Development Host, but it patches the VS Code installation used by that host. Prefer a disposable VS Code installation or VS Code Insiders.
Publishing
Before publishing:
- Confirm
package.json.publisher is ITEM-PIXEL.
- Confirm
package.json.name is kawaii-vscode-color.
- Confirm
package.json.repository.url points to the public repository that contains the README images.
- Package to
./dist with npm run build:local.
- Publish only from an account authorized for the configured publisher.
Credits
Kawaii VS Code Color is based on SynthWave '84. The original theme, glow concept, and much of the historical implementation came from Robb Owen's project.
Kawaii VS Code Color Light is inspired by Sakura Theme, a soft pastel VS Code theme by mhiratani. Sakura Theme is released under the MIT License.
The Random Neko image flow was inspired by NyarchLinux/CatgirlDownloader, which uses Nekos.moe as one of its image sources.
The original SynthWave '84 README also credited:
References