Pomodoro Timer for VS Code

A streamlined, low-CPU Pomodoro timer for Visual Studio Code. Boost your focus and productivity directly within your editor with customizable intervals, status bar indicators, native sounds, and template management.
VS Code 内で動作する軽量・低CPU負荷のポモドーロタイマー拡張機能です。直感的なサイドバーUI、ステータスバー連動、カスタムテンプレート管理、Web Audio 音声通知を提供します。
✨ Features (主な機能)
⚡ Low-CPU & Self-Correcting Timer Engine (低負荷・自己補正タイマー)
- Precision synchronization using target-time calculations and second-boundary compensation.
- Zero timer drift even when switching tabs, hiding views, or backgrounding the editor (
visibilitychange handling).
- 目標時刻ベースの秒境界自己補正により、ビュー非表示やタブ切り替え時でもズレが生じず、CPU負荷を最小限に抑えます。
🎨 Modern Webview Interface (洗練されたUI)
- Smooth circular SVG progress gauge with real-time remaining minutes and seconds.
- Interactive controls: Start / Pause, Reset, Skip Session, and Quick Time Extension (+1m / +5m).
- Current cycle progress display (e.g., Cycle 1/4) and distinct visual styles for Focus, Short Break, and Long Break.
- 円形プログレスゲージ、残り時間表示、一時停止/再開、セッションスキップ、延長(+1分/+5分)ボタンを完備。
📋 Multi-Template Support (柔軟なテンプレート管理)
- Create and manage custom interval templates directly from the sidebar tree view.
- Switch between standard 25/5 intervals, 50/10 deep work sessions, or custom durations with one click.
- サイドバーからテンプレート(作業時間・休憩時間・サイクル数)の作成・編集・削除・切り替えが簡単に行えます。
📊 Status Bar Integration (ステータスバー常時表示)
- Real-time remaining time and current mode (Work / Break) shown directly in the VS Code status bar.
- Click to show quick control actions or jump straight to the timer view.
- ステータスバー上で残り時間とセッション状態を一目で確認でき、クリックから即座に操作可能です。
🔔 Web Audio Notification Sounds (選べる通知音)
- Non-blocking browser Web Audio API sounds:
chime (gentle chime), bell (soft bell), or synth (synthesizer tone).
- Configurable sound volume and auto-start triggers for work and break intervals.
- 外部オーディオファイル不要の軽量 Web Audio 合成音(チャイム・ベル・シンセ)でセッション終了を優しく通知します。
🌐 Bilingual Support (日本語 / English)
- Full support for English and Japanese. Automatically detects your VS Code display language or can be explicitly configured.
- VS Code の言語設定に連動するほか、明示的な言語指定(日本語/英語)が可能です。
🚀 Getting Started (使い方)
Open the Pomodoro view container in the VS Code Activity Bar (watch icon ⏱).
Click Start (▶) to begin your focus session.
Manage or switch templates under the Templates section in the sidebar.
Check remaining time at any time in the bottom Status Bar.
VS Code アクティビティバーのポモドーロアイコン(時計マーク ⏱)をクリックします。
「開始(▶)」ボタンを押して作業セッションをスタートします。
下部の「Templates」ツリービューからプリセットの切り替えや新規テンプレートの作成が可能です。
ウィンドウ最下部のステータスバーでも残り時間が常時更新されます。
⚙️ Configuration (設定)
You can customize the extension via VS Code Settings (Ctrl+, or Cmd+, -> search for pomodoro).
| Setting |
Type |
Default |
Description |
pomodoro.general.language |
string |
"auto" |
Display language: "auto", "en", or "ja". |
pomodoro.general.soundEnabled |
boolean |
true |
Enable or disable audio notifications when sessions complete. |
pomodoro.general.soundType |
string |
"chime" |
Sound type: "chime", "bell", or "synth". |
pomodoro.general.soundVolume |
number |
80 |
Notification sound volume (0 to 100). |
pomodoro.general.autoStartBreaks |
boolean |
false |
Automatically start break timers when work finishes. |
pomodoro.general.autoStartPomodoros |
boolean |
false |
Automatically start work timers when break finishes. |
pomodoro.templates |
array |
(Presets) |
Custom interval templates (Work, Short Break, Long Break, Cycle count). |
pomodoro.activeTemplateId |
string |
"default-pomodoro" |
ID of the currently active template. |
⌨️ Commands (コマンド一覧)
Access these commands via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
| Command |
Title (JP / EN) |
pomodoro.start |
タイマー開始 / 再生 (Start Timer) |
pomodoro.pause |
タイマー一時停止 (Pause Timer) |
pomodoro.stop |
タイマー停止・リセット (Stop / Reset Timer) |
pomodoro.skip |
セッションをスキップ (Skip Session) |
pomodoro.selectTemplate |
テンプレート切り替え (Select Template) |
pomodoro.focusTimerView |
サイドバーを表示 (Focus Timer View) |
pomodoro.openSettings |
設定画面を開く (Open Settings) |
pomodoro.addTemplate |
新規テンプレート作成 (Add Template) |
pomodoro.editTemplate |
テンプレート編集 (Edit Template) |
pomodoro.deleteTemplate |
テンプレート削除 (Delete Template) |
📖 Architecture & Development (詳細設計・開発)
For architecture design, self-correcting timer sync details, and contributing instructions, check our repository documentation:
Building from Source
# Clone the repository
git clone https://github.com/ebi-katsu/pomodoro-vscode.git
cd pomodoro-vscode
# Install dependencies
npm install
# Build extension
npm run package
# Run tests
npm test
📄 License
This extension is licensed under the MIT License.