Skip to content

VS Code integration

The NowDoing VS Code extension connects your editor to the Mac app. When you switch Git branches in any open repository, NowDoing opens its tracking prompt with the new branch name prefilled. VS Code also shows the running activity in its status bar.

  1. In the Mac app, open Einstellungen → Integrationen → VSCode (Settings → Integrations → VSCode) and enable the integration.
  2. Confirm the “Schlüsselbund-Zugriff” (Keychain Access) info dialog with Verstanden (Got it), then click Always Allow on the macOS prompt.
  3. In VS Code, install the NowDoing extension (publisher NowDoing) from the Marketplace.
  4. In VS Code, run NowDoing: Test Connection (⇧⌘P). The status bar will show ✓ NowDoing.

When you enable the integration, NowDoing shows a short info dialog titled “Schlüsselbund-Zugriff” (Keychain Access) — confirm with Verstanden (Got it). Right after, macOS itself asks for permission, because the security token is stored encrypted in the macOS Keychain. Click Always Allow there, otherwise NowDoing will have to ask again on every launch.

If you deny the macOS prompt, the integration stays off and the status area shows “Schlüsselbund-Fehler” (Keychain error) with the macOS message. You can retry any time by toggling the switch off and on again.

When connected, the extension shows up to three items:

  • ✓ NowDoing — connection status. Click to re-check the connection.
  • Current activity — name of the running activity, with a (Pause) suffix when paused. Click to hide.
  • Elapsed time — duration since the activity started (<1m, 42m, 1h 5m). Click to hide.

The values are polled from the Mac app every 10 seconds and ticked locally in between.

CommandWhat it does
NowDoing: Test ConnectionChecks whether the Mac app is reachable.
NowDoing: ReconnectRetries the connection and surfaces errors.
NowDoing: Start ActivityStart an activity by search (creates one on demand).
NowDoing: Show Output LogOpens the extension’s diagnostic log.
NowDoing: Open SettingsJumps straight to the extension’s settings.
NowDoing: Toggle Current Activity in Status BarShow/hide the current activity item.
NowDoing: Toggle Elapsed Time in Status BarShow/hide the elapsed time item.
SettingDefaultDescription
nowdoing.enabledtrueMaster switch for branch-change notifications.
nowdoing.debounceMs1500Quiet window after a branch change before notifying.
nowdoing.showCurrentActivitytrueShow the current activity in the status bar.
nowdoing.showElapsedTimetrueShow elapsed time on the current activity in the status bar.
nowdoing.currentPollSeconds10How often to refresh the current activity from the Mac app.
  • The listener lives on a Unix domain socket inside the Mac app’s sandbox container (mode 0600, readable only by your own user). No TCP port is opened.
  • Every request carries an HMAC-SHA256 signature, a timestamp, and a nonce. Requests with more than 60 seconds of clock drift are rejected.
  • The token lives only in the capability file api-endpoint.json (also 0600) and, on the Mac side, encrypted in the macOS Keychain — not in VS Code settings or SecretStorage.

The extension sends to the Mac app: the repository folder basename, the absolute repository path, the new branch name, and the previous branch name. There is no network communication.