Theme Structure
Each theme consists of two files:- JSON Configuration File - Defines theme behavior and settings
- CSS Style File - Defines visual appearance and transparency effects
themes/ directory with matching names.
Theme Configuration (JSON)
The JSON file configures platform-specific settings and VS Code integration.Configuration Properties
Platform-specific vibrancy effect typesWindows types:
acrylic- Fluent Design acrylic blur effectauto- Automatically choose based on system
under-window- Standard under-window blurfullscreen-ui- Transparent fullscreen blurtitlebar,selection,menu,popover,sidebar,header,sheet,hud,tooltip- Specialized effects
Background color in hex format (without #)This color is used as the base for transparency calculations.
Platform-specific opacity levelsValues range from 0.0 (fully transparent) to 1.0 (fully opaque).
Recommended VS Code color themeThe extension will suggest this theme when your Vibrancy theme is activated.
System appearance preferenceOptions:
"dark"- Dark system theme"light"- Light system theme"default"- Use system default
Example Configuration
Theme Styles (CSS)
The CSS file defines the visual appearance by making UI elements transparent and applying custom styles.Key CSS Patterns
Making Elements Transparent
Editor Transparency
Tab and Title Bar
Sidebar and Panel
Terminal Transparency
Selection and Highlighting
Complete Theme Example
Creating a Custom Theme
Follow these steps to create your own theme:Using Custom Theme with Imports
Instead of registering a theme in the extension, you can use the “Custom theme (use imports)” option with external files:Configure Settings
Update your VS Code settings:
On Windows, use forward slashes:
"C:/Users/username/Documents/my-vibrancy-theme.css"Theme Development Tips
Finding CSS Selectors
Use VS Code’s Developer Tools to find CSS selectors:Testing Across Platforms
Since opacity and effect types differ between platforms:- Windows: Test with both high and low opacity (0.5-0.9)
- macOS: Lower opacity values work better (0.2-0.5)
- Test with different
typevalues to find the best effect
Color Transparency
When usingrgba() colors:
Fullscreen Mode
Add special handling for fullscreen:Theme Reference Files
Use these as templates:- Custom Theme.json - Minimal configuration for import-based themes
- Custom Theme.css - Empty template for custom styles
- Default Dark.json - Standard dark theme configuration
- Default Dark.css - Complete CSS example with all UI elements
themes/ directory of the extension.
Contributing Themes
If you create a great theme, consider contributing it to the project! See the Contributing guide for details on submitting themes.Share your custom themes in GitHub Discussions to help other users!
Troubleshooting Themes
Theme Not Applying
- Ensure JSON and CSS filenames match exactly
- Check for syntax errors in JSON (use a JSON validator)
- Verify CSS selectors are correct
- Run Reload Vibrancy after making changes
Elements Not Transparent
- Add
!importantto CSS rules - Check if other extensions are overriding styles
- Inspect elements to find correct selectors
- Ensure
background: transparent !importantis used
Effect Too Strong/Weak
- Adjust
opacityvalues in JSON configuration - Modify
rgba()alpha values in CSS - Try different
typevalues for your platform - Consider different background colors
Advanced Techniques
Platform-Specific CSS
You can detect platforms in CSS using body classes (though this requires JavaScript injection via imports).Dynamic Theme Switching
Enable auto-theme switching:Combining with Custom CSS Extensions
Vibrancy Continued works alongside other CSS customization extensions. Use theimports feature to layer multiple customizations.
Example Themes
Explore existing themes in the extension:- Default Dark / Default Light - Standard transparency
- Tokyo Night Storm - Popular anime-inspired theme
- Catppuccin Mocha - Pastel color scheme
- Solarized Dark+ - Classic Solarized palette
- Paradise Glass - High transparency effects
- Noir et blanc - Minimalist black and white

