Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>NowDoingNew to Visual Studio Code? Get it now.
NowDoing

NowDoing

NowDoing

|
1 install
| (0) | Free
Notifies the NowDoing macOS app on Git branch changes so it can prompt you for a time entry, and lets you start activities from the command palette.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NowDoing icon

NowDoing for VS Code

Marketplace Version Marketplace Installs GitHub release CI Release Website License

Notifies the NowDoing macOS app when you switch Git branches in VS Code, so NowDoing can pop up its time-entry prompt. You can also start activities directly from the command palette.

Requires the NowDoing macOS app. The extension talks to a local HTTP listener inside the app and never sends data over the network.

Features

  • Branch-aware prompts. Switching branches in any open repository triggers a NowDoing prompt, debounced to avoid spam during rebases.
  • Start activities from the palette via NowDoing: Start Activity with type-ahead search and create-if-missing.
  • Live status-bar readout of the currently tracked activity and elapsed time (each can be hidden with a click or via setting).
  • Status-bar item shows whether NowDoing is reachable; click to retry.
  • Loopback only. All traffic goes to 127.0.0.1 and is signed with HMAC plus timestamp and nonce.

How it works

The extension listens to the built-in vscode.git API for branch changes. After a short debounce window (default 1.5 s) it POSTs to a local HTTP listener inside the NowDoing app:

POST http://127.0.0.1:39847/branch-changed
X-NowDoing-Token: <shared secret>
X-NowDoing-Timestamp: <unix-seconds>
X-NowDoing-Nonce: <random-hex>
X-NowDoing-Signature: <hmac-sha256>
Content-Type: application/json

{"repo": "NowDoing", "repoPath": "/Users/me/dev/NowDoing",
 "branch": "feat/auth", "previousBranch": "main"}

NowDoing opens its prompt popover with the new branch name. A separate GET /healthcheck endpoint is used for reachability checks and never triggers a prompt.

The listener binds only to 127.0.0.1, authenticates every request, and rejects replays via timestamp and nonce checks.

Setup

  1. In the NowDoing macOS app, open Einstellungen > Integrationen > VSCode:
    • Enable the integration.
    • Generate a token and copy it.
    • Note the configured port (default 39847).
  2. In VS Code:
    • Install this extension from the Marketplace.
    • Run NowDoing: Set Token and paste the token.
    • If you changed the port in NowDoing, set nowdoing.port in Settings > Extensions > NowDoing.
  3. Run NowDoing: Test Connection. The status bar should switch to ✓ NowDoing.

Commands

Command What it does
NowDoing: Set Token Store the shared secret in VS Code SecretStorage.
NowDoing: Test Connection Ping NowDoing's /healthcheck endpoint.
NowDoing: Reconnect Re-check the connection and surface errors.
NowDoing: Start Activity Search activities and start one (creates on demand).
NowDoing: Show Output Log Reveal the extension's output channel for diagnostics.
NowDoing: Open Settings Jump straight to the extension's settings.
NowDoing: Toggle Current Activity in Status Bar Show/hide the activity item.
NowDoing: Toggle Elapsed Time in Status Bar Show/hide the elapsed-time item.

Configuration

Setting Default Description
nowdoing.enabled true Master switch for branch-change notifications.
nowdoing.port 39847 Must match the port set in NowDoing.
nowdoing.debounceMs 1500 Quiet window after a branch change before notifying NowDoing.
nowdoing.showCurrentActivity true Show current activity in the status bar.
nowdoing.showElapsedTime true Show elapsed time on the current activity in the status bar.
nowdoing.currentPollSeconds 10 How often to refresh the current activity from NowDoing.

Token storage uses VS Code SecretStorage under the key nowdoing.apiToken.

Token & clock

  • The token is used directly as the HMAC-SHA256 key. Generate it from NowDoing, don't type a passphrase.
  • Requests carry a Unix timestamp. NowDoing rejects requests with more than 60 seconds of drift. If you see "expired timestamp" or "signature invalid" errors, check the system clock (NTP).

Privacy

The extension transmits the repository folder basename, the absolute repository path, the new branch name, and the previous branch name to the local NowDoing listener. No data leaves your machine.

Build from source

git clone https://github.com/NowDoingApp/vscode.git nowdoing-vscode
cd nowdoing-vscode
npm install
npm run bundle      # esbuild -> dist/extension.js
npm test            # tsc -> out/, then node --test
# Press F5 in VS Code to launch an Extension Development Host.

npm run watch rebuilds the bundle on save during development. npm run typecheck runs the TypeScript compiler in no-emit mode. Test artifacts go to out/ so dist/ only contains the shipped bundle.

To produce a .vsix for sideloading:

npm run package

License

MIT © NowDoing

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