Theme Switch Scheduler automatically changes your active VS Code color theme according to configurable schedules, system appearance preferences, or workspace-specific configurations. It features a smart override mechanism that detects manual adjustments and suspends updates until the next scheduled transition boundary.
Features
📅 Multiple Scheduling Modes
Time-based Switching: Configure exact transition times (e.g., Light theme at 07:00, Dark theme at 19:00). Handles overnight intervals crossing midnight seamlessly.
System Appearance Sync: Automatically aligns VS Code's active color theme to match your host operating system (Windows, macOS, or Linux).
Workspace Specific Settings: Define customized theme settings specific to individual workspaces or folder hierarchies.
🧠 Smart Manual Override Behavior
If you manually change your color theme using VS Code's standard theme picker:
The extension detects the modification.
It suspends scheduled automatic updates (status displays (Manual) or paused indicators).
It respects your override until the next transition event (such as time-boundary crossing or system appearance toggle), at which point it automatically aligns back.
⚡ Quick Access Status Bar
A status bar indicator (☀ Light / 🌙 Dark) stays updated with the active scheduler state. Clicking it reveals an action-packed Quick Actions Menu:
Toggle scheduler state (Enable/Disable).
Select active mode (Time-based, System, or Workspace).
Set your currently active workbench theme as the scheduled Light or Dark Theme with one click.
Change theme targets from a list of installed themes on the fly.
Open extension settings.
Extension Settings
Access these settings in the Settings editor (Ctrl+, or Cmd+,) under Theme Switch Scheduler:
Setting
Type
Default
Description
themeScheduler.enabled
boolean
true
Enables or disables background monitoring and theme switching.
themeScheduler.mode
enum
"time"
Active scheduling mode: "time", "system", or "workspace".
themeScheduler.lightTheme
string
"Default Light Modern"
Active theme name applied during light-themed intervals.
themeScheduler.darkTheme
string
"Default Dark Modern"
Active theme name applied during dark-themed intervals.
themeScheduler.lightTime
string
"07:00"
HH:MM 24hr format for light theme switch (e.g., '06:30').
themeScheduler.darkTime
string
"19:00"
HH:MM 24hr format for dark theme switch (e.g., '18:30').
themeScheduler.workspaceTheme
string
""
Workspace-specific theme. Target this inside .vscode/settings.json.
themeScheduler.notifications
boolean
true
Show a friendly information message when a theme switches.
themeScheduler.followSystem
boolean
false
Legacy toggle to force System Appearance mode.
Extension Commands
Run these commands from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):