Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Time Window SchedulerNew to Visual Studio Code? Get it now.
Time Window Scheduler

Time Window Scheduler

MH.Farzin

|
1 install
| (0) | Free
Persistent visual state based on scheduled time windows. See exactly what is active right now in the Status Bar — with colors, countdowns and notifications.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

⏱ Time Window Scheduler

Know exactly what is active right now — at all times.

Time Window Scheduler lets you define scheduled time windows and see their live status directly in VS Code — with custom colors, countdowns, and notifications.

Unlike simple reminders, Time Window Scheduler creates a persistent visual state for periods that matter while you work.

When a window is active:
🔴 Release Freeze · 1h 24m left

When multiple windows are active:
Each active window gets its own colored segment in the Status Bar.

When nothing is active:
○ nothing active

📸 Screenshots

Activity Bar — one window active

Activity Bar — active window

Status Bar — nothing active

Status Bar — idle

Editor form

Time Window editor


✨ Features

Feature Description
🗓 Flexible schedules Every day, specific weekdays, weekends, or specific days of the month
🕐 Multiple time spans Create multiple spans in one window, e.g. 12:30–15:30 + 17:30–21:30
🌙 Cross-midnight spans Supports spans such as 22:00–02:00, shown with a 🌙 +1d badge in the editor
🎨 Custom colors Give each window its own color for quick visual recognition
⏳ Live countdown Smart countdown units such as 45s, 12m, 1h 30m, and 2d 3h
🔔 Notifications Get notified when a window starts and optionally before it starts
📌 Activity Bar panel Manage your windows from a dedicated Activity Bar view
💾 Persistent storage Your windows survive VS Code restarts
🌍 Local time Uses your system's local timezone
📴 Offline-first No account, cloud service, or internet connection required

🚀 Installation

From the VS Code Marketplace

  1. Open VS Code.
  2. Open Extensions (Ctrl+Shift+X).
  3. Search for Time Window Scheduler.
  4. Click Install.

Or install it directly from the urlVS Code Marketplacehttps://marketplace.visualstudio.com/items?itemName=mh-farzin.vscode-time-windows.

From source

git clone https://github.com/mhfarzin/vscode-time-windows.git
cd vscode-time-windows
npm install
npm run compile

Then open the project in VS Code and press F5 to launch an Extension Development Host.

To package and install a VSIX:

npx vsce package
code --install-extension vscode-time-windows-0.1.0.vsix

🎯 Example use cases

Time Windows are useful whenever a specific period should change how you work:

🔴 Release Freeze    — Mon–Fri  16:00–18:00
   "Do not merge or deploy"

🔵 Deep Work         — Mon–Fri  09:00–11:00
   "Avoid interruptions"

🟡 Expensive API     — Every day  12:30–15:30 and 17:30–21:30
   "API usage costs are higher during this period"

Other examples:

  • Code freeze and release windows
  • Expensive API or infrastructure pricing periods
  • Meetings and focus blocks
  • On-call or support shifts
  • Maintenance windows
  • Deployment windows
  • Team-specific working hours
  • Any recurring period where you want a persistent reminder

🕹 Commands

Open the Command Palette with Ctrl+Shift+P and search for Time Windows.

Command Description
Time Windows: Open Open the management panel
Time Windows: Add Create a new time window
Time Windows: Edit Edit an existing time window
Time Windows: Toggle Enable or disable a time window

You can also delete, duplicate, and enable/disable windows directly from the management panel.


⚙️ Settings

Setting Default Description
timeWindows.enabled true Master on/off switch
timeWindows.showCountdown true Show a live countdown for the active window
timeWindows.refreshInterval 10 Refresh interval in seconds
timeWindows.enableNotifications true Enable start notifications
timeWindows.notifyBeforeStart true Enable notifications before a window starts
timeWindows.notificationLeadTime 10 Number of minutes before the start to notify

🧩 How it works

A Time Window consists of:

TimeWindow
├── Name
├── Description
├── Time spans
├── Schedule
├── Color
└── Enabled

Schedules can be:

Every day
Weekdays
Specific days of the month

A single Time Window can contain multiple time spans, so one rule can cover several periods during the day.

The schedule calculation core (ScheduleEngine) is a pure module with no VS Code dependency, making it easy to test and extend. The project currently includes 31 unit tests for the scheduling logic.


🛠 Development

npm install            # Install dependencies
npm run compile        # Type-check + lint + build
npm run watch          # Watch mode
npm test               # Run tests
npx mocha out/test/scheduleEngine.test.js   # Run pure schedule tests

Project structure:

src/
  models/             Data models (Schedule, TimeWindow)
  services/           ScheduleEngine + Storage + Notification
  ui/                 StatusBar + Panel + Editor (webview)
  commands/           Command registrations
  test/               Unit tests

Repository

Source code, issues, and development information are available on urlGitHubhttps://github.com/mhfarzin/vscode-time-windows.


📄 License

MIT — free, open source, and offline.

No account. No cloud service. No internet connection required.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft