Themeleon
Like a chameleon, your editor adapts. Themeleon automatically detects your project type and applies the right color theme — so each project gets its own visual identity.
Switch from a Rust project to a React app and back — your editor changes colors instantly, helping you stay oriented across multiple projects.
Features
- Smart detection — recognizes 70+ project types by scanning for marker files (
Cargo.toml, package.json, project.godot, etc.)
- Automatic theme switching — maps each project type to a color theme of your choice
- Per-workspace override — pin a specific theme to any workspace, regardless of detected type
- Multi-root support — handles workspaces with multiple project types
- First-time setup — prompts you to pick a theme when a new project type is first detected
- Custom rules — define your own project types with custom marker files
- Marketplace integration — browse themes filtered by project type directly from the menu
Getting Started
- Open any project in VS Code
- Themeleon detects the project type and shows it in the status bar
- Click the status bar icon to open the menu
- Choose "Set Theme for This Project Type" — select your preferred theme
- Done. Every project of this type will now use that theme automatically
Supported Project Types
70+ built-in types (click to expand)
| Category |
Types |
| Game Engines |
Godot, Unity, Unreal Engine, Bevy, Pygame |
| Web |
React, Vue, Angular, Svelte, Next.js, Nuxt, Astro, Vite |
| Backend |
Spring Boot, Django, Flask, FastAPI, Express.js, Laravel |
| Mobile |
Flutter, React Native, Android |
| Systems |
C# / .NET, C++, C, Zig, Arduino |
| Languages |
Rust, Go, Python, Java, Kotlin, Ruby, PHP, Elixir, Haskell, Scala, Swift, Node.js |
| DevOps |
Docker, Terraform |
| Data Science |
Jupyter |
| Modding |
Minecraft (Fabric, Forge, NeoForge, Quilt, Bukkit, Velocity, datapacks) |
Configuration
// settings.json
{
// Map project types to themes
"themeleon.themeMap": {
"rust": "Catppuccin Mocha",
"react": "One Dark Pro",
"python": "Dracula",
"go": "GitHub Dark",
"godot": "Monokai"
},
// Define custom project types
"themeleon.customRules": [
{
"name": "my-framework",
"markers": ["my-framework.config.js", "src/app"]
}
],
// Enable/disable
"themeleon.enabled": true,
"themeleon.autoApply": true
}
Commands
All commands are available via Ctrl+Shift+P:
| Command |
Description |
Themeleon: Show Project Info |
Open the main menu |
Themeleon: Set Theme for Project Type |
Assign a theme to the detected type |
Themeleon: Set Workspace Theme |
Override theme for current workspace |
Themeleon: Remove Workspace Theme Override |
Revert to project-type theme |
Themeleon: Re-detect Project |
Re-run detection |
Themeleon: Browse Marketplace Themes |
Search marketplace for relevant themes |
Themeleon: Add Custom Detection Rule |
Create a custom detection rule |
Custom Detection Rules
Define project types that Themeleon doesn't recognize out of the box:
- Open the menu → "Add Custom Detection Rule"
- Enter a project type name (e.g.,
tauri-app)
- Enter comma-separated marker files (e.g.,
src-tauri/tauri.conf.json, package.json)
Custom rules take priority over built-in detection.
License
MIT
| |