Voice Typing in VS Code: Not Just for Writers Anymore
When most developers hear "voice typing," they think of writers dictating prose. But modern speech-to-text technology has reached a level of accuracy that makes it genuinely useful in a code editor like Visual Studio Code. Not for writing code itself (at least not primarily), but for the enormous amount of natural language text that developers produce every day.
Think about your typical day in VS Code. You write code, yes. But you also write commit messages, pull request descriptions, code comments, documentation, README files, inline explanations, TODO notes, and chat messages in VS Code extensions. All of that natural language text can be dictated instead of typed.
In this guide, we'll cover how to set up voice typing in VS Code on macOS, which speech-to-text tools work best for developers, and practical workflows that will genuinely save you time.
Who This Guide Is For
- macOS developers who use VS Code as their primary editor
- Developers dealing with repetitive strain injury (RSI) or typing fatigue
- Anyone who wants to write better documentation, comments, and commit messages faster
- Developers curious about voice-assisted workflows
What Developers Actually Dictate in VS Code
Let's be specific about where voice typing adds value in a development workflow. The goal isn't to replace your keyboard for writing code. It's to eliminate the bottleneck of typing natural language while you're in your code editor.
Code Comments and Documentation
This is the single biggest win. Writing clear, detailed code comments and documentation is critically important but tedious to type. With voice typing, you can look at a function and explain what it does conversationally. The explanation flows naturally because you're speaking rather than hunting for keys.
For example, instead of laboriously typing a JSDoc comment explaining a complex function, you can speak it: "This function takes a user ID and an array of permission objects, validates each permission against the role hierarchy, and returns a filtered array containing only the permissions the user is authorized to hold. It throws an AuthorizationError if the user ID is invalid."
That comment would take 30 seconds to speak and over a minute to type. Multiply that by dozens of functions per day, and the time savings become substantial.
Git Commit Messages
Good commit messages are essential for maintainable codebases, but many developers write terse, unhelpful messages because typing detailed descriptions feels like a chore. Voice typing removes that friction. You can speak a thorough commit message describing what changed, why it changed, and any context future developers should know.
Pull Request Descriptions
VS Code's Git integration and extensions like GitHub Pull Requests let you compose PR descriptions directly in the editor. Voice typing makes it easy to write thorough descriptions that explain the changes, link to relevant issues, and describe testing approach.
README and Markdown Files
Writing project documentation, README files, and Markdown-based docs is pure natural language work. Voice typing is perfect for this. You can dictate entire sections of documentation and then format them with Markdown syntax using the keyboard.
Inline TODO and FIXME Comments
Quick inline notes like TODO and FIXME comments benefit from voice typing because you can capture your thought immediately without switching mental contexts from coding to typing prose.
Setting Up Voice Typing in VS Code
There are several approaches to getting voice typing working in VS Code on macOS. We'll cover each one.
Option 1: macOS Built-In Dictation
The simplest option is macOS dictation. Enable it in System Settings under Keyboard, then activate it with the Fn key shortcut while your cursor is in a VS Code text field. It works in the editor, the integrated terminal, the source control message box, and search fields.
However, built-in dictation has notable limitations for developers:
- Technical terms — Programming terms, library names, and acronyms are frequently misheard.
- CamelCase and snake_case — Dictating variable or function names in specific casing is essentially impossible.
- Special characters — Saying "open parenthesis" or "curly brace" is cumbersome and unreliable.
- Context switching — The dictation model doesn't understand that you're in a code editor and may autocorrect technical words to common English words.
For pure prose like documentation paragraphs, it's functional. For anything involving technical vocabulary, it's frustrating.
Option 2: Scrybapp (Recommended)
Scrybapp is a macOS speech-to-text app powered by OpenAI's Whisper AI running locally on your device. It delivers dramatically better accuracy for technical content because the Whisper model was trained on a diverse dataset that includes technical discussions, programming tutorials, and developer content.
Setting up Scrybapp for VS Code:
- Step 1: Download Scrybapp and install it.
- Step 2: Grant microphone and accessibility permissions.
- Step 3: Open VS Code, place your cursor where you want to dictate (a comment, a commit message box, a Markdown file, etc.).
- Step 4: Press the Scrybapp keyboard shortcut to activate dictation.
- Step 5: Speak naturally. Scrybapp transcribes your speech and types it into VS Code.
- Step 6: Press the shortcut again to stop dictation.
Because Scrybapp works at the operating system level, it types into whatever text field is active. There's no VS Code extension to install, no configuration, and no compatibility issues with VS Code updates.
Why Scrybapp Works Better for Developers
The Whisper AI model handles technical vocabulary surprisingly well. Terms like "useState," "API endpoint," "dependency injection," "middleware," "PostgreSQL," "Redis," "Kubernetes," and "GraphQL" are transcribed correctly in most cases. It's not perfect with every niche library name, but it's leagues ahead of basic dictation.
More importantly, Scrybapp processes everything locally. Developer conversations often involve proprietary code, internal architecture details, and sensitive project information. With Scrybapp, none of that audio data ever leaves your Mac.
Practical VS Code Workflows with Voice Typing
Here are concrete workflows that integrate voice typing into your daily VS Code usage:
The "Comment After Coding" Workflow
Write your code first, then go back and add comments using voice typing. This two-pass approach keeps you in a coding mindset while writing code and a documentation mindset while commenting. Place your cursor above a function, activate Scrybapp, and explain what the function does. This produces more natural, helpful comments than trying to type terse comments while coding.
The "Voice Commit" Workflow
After staging your changes, click into the VS Code source control message box. Activate voice typing and speak your commit message: "Refactor user authentication module to use JWT tokens instead of session cookies. This reduces server-side state and improves scalability. The migration is backward-compatible with existing sessions."
That detailed commit message took 10 seconds to speak. Typing it would have taken 30 or more. Over hundreds of commits, this adds up to a meaningful time savings and, more importantly, produces better commit history.
The "Rubber Duck" Documentation Workflow
Open a new Markdown file in VS Code for a piece of documentation you need to write. Then explain the topic out loud as if you're teaching it to someone. Scrybapp captures your explanation. You end up with a rough but comprehensive draft that you can then edit and format. This "speak first, edit later" approach often produces better documentation than trying to write it from scratch.
The "Review Note" Workflow
When reviewing pull requests or code, voice type your feedback and suggestions. It's much faster to speak "This function should handle the case where the input array is empty. Currently it will throw a TypeError on line 47 because we're accessing index zero without checking length" than to type it out character by character.
VS Code Extensions for Voice Input
While Scrybapp works at the OS level without needing extensions, there are a few VS Code extensions worth knowing about:
- VS Code Speech — Microsoft's official extension that adds speech-to-text using Azure services. Requires internet and sends audio to Microsoft's cloud.
- Voice Control extensions — Various community extensions that attempt voice-controlled coding. These are more experimental and less polished than dedicated speech-to-text apps.
For most developers, a system-level tool like Scrybapp that works reliably in VS Code (and every other app) is more practical than editor-specific extensions that may break with updates or conflict with other extensions.
Addressing Common Developer Concerns
"Won't My Coworkers Hear Me?"
This is the most common objection. If you're in an open office, voice typing isn't ideal for all-day use. But many developers work from home at least part-time, and even in offices, you can use voice typing for longer documentation tasks when you're in a private space. You don't have to voice-type everything — use it when it makes sense.
"Is It Actually Faster?"
For natural language text, yes, significantly. The average person speaks at 130-150 WPM and types at 40-60 WPM. Even accounting for review and editing time, voice typing is faster for any text longer than a sentence or two. For actual code syntax, the keyboard is still faster.
"What About Privacy?"
With Scrybapp, all audio processing happens locally on your Mac using the Whisper AI model. No audio data is transmitted anywhere. This is critical for developers working on proprietary code or under NDA.
Getting Started
If you write code comments, commit messages, documentation, or any natural language text in VS Code, voice typing is worth trying. The setup takes one minute, and the productivity gain is immediate.
Download Scrybapp and try it free with 3 minutes of complimentary transcription. No account needed, no cloud processing, no subscription. Place your cursor in a VS Code comment, press the shortcut, and start speaking.
For more details on developer-focused features, visit our VS Code integration page or explore all supported integrations.