VS Code Extensions
VS Code Motivator

VS Code Motivator

by asherifhegazy

Shows configurable motivational messages while you code.

Downloads

2

Rating

(0)

Version

0.2.1

Last updated

Aug 07, 2026

Motivator is a lightweight VS Code extension that shows a random, encouraging message while you work. Choose how often messages appear, replace the built-in library with your own, or turn automatic messages off whenever you want.

How to use

  1. Run Motivator: Start Focus Session for a timed focus period with an optional timed break.
  2. Install VS Code Motivator from the Extensions view.
  3. Open VS Code Settings and search for Motivator to choose the message interval, add your own messages, or turn automatic messages on or off.
  4. Open the Command Palette and run Motivator: Choose Built-In Message Categories to select the kinds of encouragement you want.
  5. Run Motivator: Manage Message Library to add, edit, delete, preview, import, or export personal messages without editing JSON settings.
  6. Run Motivator: Show a Message Now whenever you want an immediate boost.
  7. Run Motivator: Buy Me a Coffee to open the project's support page.

Buy Me a Coffee

Features

  • Organizes 100 default messages into Progress, Focus, Resilience, Craft, and Wellbeing categories.
  • Lets you enable built-in categories independently and create named custom message packs.
  • Provides an in-editor personal library flow with local, versioned JSON import and export.
  • Provides configurable focus sessions with start notifications, a live status-bar countdown, pause, resume, cancel, and optional timed-break controls.
  • Tracks completed focus sessions locally and shows streak, seven-day totals, and recent activity.
  • Lets you choose the interval between messages, in minutes.
  • Lets you turn automatic messages on or off.
  • Supports weekday-aware quiet hours without replaying skipped messages.
  • Delivers messages as notifications, temporary status-bar text, or silently.
  • Lets you supply your own messages in VS Code Settings.
  • Includes a command to display a message immediately.
  • Includes an optional Buy Me a Coffee reminder, shown at most once every seven days by default.

Configuration

Open VS Code Settings and search for Motivator, or add these settings to your settings.json:

{
  "motivator.enabled": true,
  "motivator.intervalMinutes": 30,
  "motivator.focusSessionMinutes": 25,
  "motivator.focusBreakEnabled": true,
  "motivator.focusBreakMinutes": 5,
  "motivator.focusActionPresentation": "overlay",
  "motivator.focusActionDurationSeconds": 3,
  "motivator.deliveryMode": "notification",
  "motivator.quietHoursEnabled": false,
  "motivator.quietHoursStart": "22:00",
  "motivator.quietHoursEnd": "08:00",
  "motivator.quietHoursWeekdays": [
    "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
  ],
  "motivator.enabledBuiltInCategories": [
    "progress", "focus", "resilience", "craft", "wellbeing"
  ],
  "motivator.customMessagePacks": [
    {
      "name": "Release day",
      "enabled": true,
      "messages": ["Ship carefully.", "Celebrate the progress."]
    }
  ],
  "motivator.buyMeCoffeeReminderEnabled": true,
  "motivator.buyMeCoffeeReminderIntervalDays": 7,
  "motivator.messages": [
    "Progress beats perfection.",
    "Take the problem one piece at a time.",
    "Your next commit can be the breakthrough."
  ]
}
Setting Type Default Description
motivator.enabled boolean true Enables automatic motivational messages.
motivator.intervalMinutes number 30 Number of minutes between messages. The minimum is one minute.
motivator.focusSessionMinutes number 25 Length of each focus session in minutes. The minimum is one minute.
motivator.focusBreakEnabled boolean true Starts an optional timed break after focus completion.
motivator.focusBreakMinutes number 5 Length of the optional break in minutes. The minimum is one minute.
motivator.focusActionPresentation string overlay Shows focus actions over the active text editor, with a native notification fallback, or always as a bottom notification.
motivator.focusActionDurationSeconds number 3 Number of seconds an in-editor focus action overlay remains visible, from 1 to 30.
motivator.deliveryMode string notification Delivers messages as notification, statusBar, or silent. Status-bar messages remain visible for 10 seconds.
motivator.quietHoursEnabled boolean false Suppresses automatic messages during quiet hours. The manual Show a Message Now command remains available.
motivator.quietHoursStart string 22:00 Local 24-hour time when quiet hours begin, in HH:mm format.
motivator.quietHoursEnd string 08:00 Local 24-hour time when quiet hours end, in HH:mm format.
motivator.quietHoursWeekdays string array Every weekday Days on which quiet hours begin. Overnight schedules continue into the next morning. An empty list disables quiet periods on every day.
motivator.enabledBuiltInCategories string array All five categories Built-in categories included in random delivery. An empty list disables built-in messages.
motivator.customMessagePacks object array [] Named packs with name, enabled, and messages fields. Only enabled, valid packs participate in delivery.
motivator.messages string array Legacy built-in list Ungrouped custom messages retained for backward compatibility and included alongside enabled categories and packs when customized.
motivator.buyMeCoffeeReminderEnabled boolean true Enables the separate support reminder. Choosing Don't show again disables this setting without affecting Motivator.
motivator.buyMeCoffeeReminderIntervalDays number 7 Minimum number of days between support reminders.

Commands

Command Description
Motivator: Show a Message Now Delivers a random message from the currently enabled categories and packs.
Motivator: Choose Built-In Message Categories Enables or disables the five built-in categories.
Motivator: Create Message Pack Creates an enabled custom pack from pipe-separated messages.
Motivator: Rename Message Pack Renames an existing custom pack.
Motivator: Enable or Disable Message Pack Toggles whether a custom pack participates in delivery.
Motivator: Delete Message Pack Deletes a custom pack after confirmation.
Motivator: Manage Message Library Adds, edits, deletes, and previews personal messages, or imports and exports the complete category-and-pack library as local JSON.
Motivator: Start Focus Session Starts a focus timer using the configured duration.
Motivator: Manage Active Focus Session Opens pause or resume, end, and restart actions for the active timer. Clicking the timer in the status bar runs this command.
Motivator: Pause Focus Session Pauses the active focus or break timer and preserves remaining time.
Motivator: Resume Focus Session Resumes a paused focus or break timer.
Motivator: Cancel Focus Session Cancels the active focus or break timer without a completion prompt.
Motivator: Show Focus Insights Shows the current streak, completed sessions from the last seven days, and five most recent completions.
Motivator: Clear Focus History Permanently clears all locally stored focus-session history after confirmation.
Motivator: Buy Me a Coffee Opens the optional project support page.

Starting, pausing, resuming, restarting, ending, or completing a focus session displays a temporary, three-line, 90%-opacity banner over the center of the active text editor without opening a tab or taking focus. When no text editor is active (for example, in the terminal or Settings), Motivator falls back to a standard bottom notification. Set motivator.focusActionPresentation to notification to always use bottom notifications, and adjust the overlay time with motivator.focusActionDurationSeconds. Click the live status-bar countdown to pause or resume, end, or restart the timer. Silent mode completes timers without prompts. Sessions remain local to the current VS Code window and are cancelled when the extension stops.

Motivational quotes continue to use VS Code's native bottom notifications when motivator.deliveryMode is notification. VS Code controls the size and layout of those native notification panels.

Focus history is stored only in VS Code's local extension state. Motivator does not transmit it. The current streak counts consecutive local calendar days ending today or yesterday, and weekly totals cover the current day plus the previous six days.

Library imports replace the current enabled-category selection and custom packs after the entire file passes validation. Exported files use a versioned JSON format and remain on the local filesystem unless you choose to share them.

Support the project

If Motivator makes your coding day a little better, you can buy me a coffee. Your support helps keep the extension maintained and improving.

Development

  1. Open this folder in VS Code.
  2. Run npm install.
  3. Press F5 to launch an Extension Development Host.
  4. Make a change and run npm run compile, or run npm run watch during development.

Packaging and publishing

Install the VS Code packaging tool and create a package:

npm install --global @vscode/vsce
vsce package

This produces a .vsix file that you can install locally or upload to the Visual Studio Marketplace.

Related extensions