Skip to main content

How-to

Voice typing in VS Code on a Mac

VS Code is the rare app with a first-party dictation extension. It also has an autocomplete engine that treats dictated prose as code, which is the part nobody warns you about.

Last updated: 2026-08-29

Unlike Slack, Notion, or Gmail, VS Code has a dictation feature of its own: Microsoft publishes an extension called VS Code Speech. Whether you should use it depends on where the text is going.

Option A: VS Code Speech (the first-party extension)

  1. Open the Extensions view and install VS Code Speech, published by Microsoft (extension ID ms-vscode.vscode-speech).
  2. Place the cursor in the editor.
  3. Press Option+Command+V to run "Voice: Start Dictation in Editor". The same shortcut stops it.
  4. The extension also powers voice input in the Chat view, which is where most people actually use it.

The limitation is scope. It dictates into VS Code and nowhere else, so the moment you switch to the browser to write the pull request description, you are back to a different tool and a different shortcut.

Option B: macOS Dictation (works in the terminal panel too)

  1. Turn Dictation on once: System Settings → Keyboard → Dictation. Full steps in enable dictation on macOS.
  2. Click into a comment, a docstring, the Source Control commit message box, or the integrated terminal.
  3. Start Dictation, speak, then stop Dictation to finalise.

System dictation reaches the integrated terminal and the commit message box in the Source Control panel. That covers the two places most dictated text in an editor actually goes.

The VS Code-specific trap: IntelliSense edits your sentence

VS Code shows a completion list as you type, and by default a word-separator character can accept the highlighted suggestion. Dictated prose is a stream of words and separators, so a comment can end up containing a variable name from the file instead of the word you said. The symptom is a comment that reads correctly for six words and then contains something like useEffectHandler in the middle of a sentence.

  • Set "editor.acceptSuggestionOnCommitCharacter": false to stop separators from accepting a suggestion.
  • Set "editor.acceptSuggestionOnEnter": "off" so a spoken new line never picks a completion.
  • Set "editor.quickSuggestions": { "comments": false, "strings": false } so the list never opens in the places you dictate into.
  • Dictate into the Source Control commit box instead of the editor when you can. It is a plain text field with no completion engine attached.

What is worth dictating in an editor

  • Commit message bodies, where the why is prose and the diff already says the what.
  • Docstrings and function comments as a first pass, edited afterwards.
  • Changelog entries and release notes.
  • Not code. Identifiers, punctuation density, and casing all make speech slower than the keyboard.

If nothing types at all

  • System Settings → Privacy & Security → Microphone → allow Visual Studio Code if you are using the VS Code Speech extension. System dictation is captured by macOS instead, so it needs the permission for the dictation tool.
  • Dictation dead everywhere, not just VS Code: dictation not working on Mac.

Option C: one hotkey for the editor and the browser

Most of an engineer's dictated text is not in the editor at all. It is in a pull request description, a ticket, and a Slack thread, in that order. Voice Type binds one hold-to-dictate hotkey that works in all of them, and runs the model on your Mac: voice typing for Mac.

Keep going

Sources

Try Voice Type (7-day free trial)

Try it on your own work

Voice Type is on-device dictation for macOS. Hold a hotkey, speak, and release to insert text in any app. Your audio never leaves your Mac. Free for 7 days, then $19.99 once on the Mac App Store. No subscription and no account.

Start the free trial