Comparisons

Voice Dictation for Developers: VS Code, Xcode & IntelliJ (2026)

A practical guide to voice dictation for developers: docs, comments, commit messages and PRs in VS Code, Xcode and IntelliJ, with setup tips and honest limits.

Mudasir HussainUpdated 12 min read
Voice Dictation for Developers: VS Code, Xcode & IntelliJ (2026)
What's in this article

Short answer

Can developers use voice dictation for coding on Mac?

Yes, for the parts of the job that are prose: documentation, code comments, commit messages, PR descriptions and chat. LumeVoice types into whatever app has the cursor on Mac and Windows, including VS Code, Xcode and JetBrains IDEs, with no plugin. For syntax-heavy code, keep typing, or dictate the intent as a comment and let an AI coding assistant such as GitHub Copilot suggest the implementation.

A lot of what developers type isn't code.

Documentation. Code comments. PR descriptions. Slack threads. GitHub issues. Email. Postmortems. Architecture decision records. All of it is prose, and prose is where dictation helps.

The research on speed is worth knowing: an Aalto University analysis of 136 million keystrokes put average typing speed at about 52 words a minute, while conversational speech runs at about 120–150. Many developers type faster than average, but the gap on prose is still real.

This is a practical guide for developers who want to add voice dictation to their workflow: setup, real usage patterns in VS Code, Xcode and IntelliJ, and the places where you should keep typing.


Why Developer Adoption Has Been Slow (And Why That's Changing)#

Voice dictation adoption among developers has been held back by two accurate objections:

Objection 1: "Code has too much special syntax for voice to handle"
Still true for syntax itself. Modern speech recognition models such as OpenAI's Whisper (described in the paper "Robust Speech Recognition via Large-Scale Weak Supervision"), trained on hundreds of thousands of hours of varied audio, cope with technical vocabulary better than the dictation software many developers remember, but brackets, operators and exact identifiers are still a job for the keyboard.

The more important point: most of what developers write in a day isn't syntax. It's human language wrapped around code.

Objection 2: "Voice in an open office is disruptive"
True. This is a real constraint for every voice tool. Dictation works best for solo work, remote work, private offices and home.

With those limits understood, here's where dictation earns its place.


The Developer's Voice Dictation Opportunity Map#

Task TypeVoice SuitabilityWhy
Writing documentation (README, API docs)✅ ExcellentLong-form prose; you explain things out loud anyway
Code comments and docstrings✅ ExcellentLet your IDE insert the comment block, then dictate the description
Commit messages✅ GoodType the prefix (feat:), dictate the summary
PR descriptions✅ ExcellentSpoken lists come out as numbered lists
Slack/Teams messages✅ ExcellentShort, frequent and conversational
GitHub issues and comments✅ ExcellentSteps to reproduce and context are prose
Email✅ ExcellentSame as any writing
Variable and function names⚠️ Context-dependentNo automatic camelCase or snake_case; use the dictionary or type them
Logic flow (comment, then AI assistant)⚠️ With an AI assistantDictate the intent; review whatever code the assistant suggests
Complex syntax (regex, lambdas, generics)❌ Use the keyboardExact characters matter

Swipe to see all columns

The core insight: much of a developer's daily writing is plain language, not code syntax. That's the part to hand to your voice.


Setting Up LumeVoice for Development Workflows#

Requirements#

  • A Mac with macOS 11.5 or later, or a PC with Windows 10 or 11
  • An internet connection (Lume processes speech in the cloud; there's no offline mode)
  • LumeVoice (3,000 free words to start | Pro Monthly: $14.99/mo | Pro Annual: $79.99/year | Lifetime: $249). Pro Monthly and Pro Annual start with a 7-day free trial when you first upgrade in the app (card required).

Installation and Initial Setup (5 minutes)#

  1. Download LumeVoice from lumevoice.com
  2. Install and open the app, and sign in
  3. Grant microphone access when prompted (on a Mac, also allow Accessibility, which lets Lume type into your editor)
  4. Click into any text field, hold fn (Mac) or Ctrl + Win (Windows), say a sentence and release. The text appears at your cursor.
  5. Double-press the same key for hands-free mode when you want to talk for longer; press it once more to finish.

Choosing a Dictation Key That Doesn't Fight Your IDE#

Lume listens for a shortcut that you hold while you talk. The defaults are fn on a Mac and Ctrl + Win on Windows. If that clashes with shortcuts you already use, pick a different one in LumeVoice's settings (on Windows, one key such as Right Ctrl, Right Alt or an F-key, or a combination like Ctrl + Alt), then test it once in your main IDE.

Adding Programming Vocabulary#

Speech recognition knows plenty of common terms, but your stack, your libraries and your teammates' names are where it slips. Add them to LumeVoice's Dictionary once:

  1. Open LumeVoice and go to the Dictionary
  2. Add terms specific to your codebase: library names, package names, internal project names, product names
  3. Add the names of teammates and collaborators (for Slack messages and PR mentions)

Example vocabulary list for a React/TypeScript developer:

useState, useEffect, useCallback, useRef, useMemo
TypeScript, tsx, async/await, Promise, nullable
Vercel, Supabase, Prisma, tRPC, Zod, shadcn
[Your team's internal package names]
[Teammate names: Muhammed, Ananya, etc.]

Snippets for Text You Type Every Day#

Snippets let you say a short cue and have Lume type the whole thing. Good candidates for developers:

  • Your PR checklist ("PR checklist")
  • A standard bug-report template ("bug template")
  • Links you paste constantly: the staging URL, the runbook, your calendar link

VS Code Integration: Practical Workflows#

LumeVoice works system-wide; there's no VS Code extension. It types at whatever cursor position is active, in the editor, the Source Control box, the integrated terminal or a browser tab.

Writing Code Documentation#

This is where dictation pays off most. Example workflow for JavaScript or TypeScript:

  1. Put the cursor on the line above a function
  2. Type /** and press Enter. VS Code inserts a JSDoc block, with @param tags for the parameters.
  3. Click the description line, hold your dictation key and describe what the function does
  4. Fill in each @param description the same way

You might end up with something like this (illustrative):

/**
 * Fetches the user profile from the database for the given user ID.
 * Returns null if the user does not exist or the database connection fails.
 * @param {string} userId - The ID of the user to look up.
 * @throws {ValidationError} If the user ID format is invalid.
 */

Lume adds punctuation and capitalisation and removes your "um"s. It types what you say as normal text, so for a multi-line comment, dictate one sentence per line or wrap the lines afterwards.

Writing Commit Messages#

In the Source Control message box (or after git commit -m " in the terminal), type your prefix and dictate the rest:

feat: + "add user authentication middleware with JWT validation and refresh token rotation"

Lume capitalises and punctuates like normal prose, while many commit conventions want a lowercase subject with no full stop, so glance at the result before you commit.

Writing PR Descriptions#

Open the PR description field in your browser, hold your key and talk it through:

"This PR implements the login flow from ticket AUTH-142. The changes are: one, JWT generation and validation in the auth middleware; two, refresh token rotation with a 30-day expiry; three, rate limiting on the login endpoint. New line. Testing: auth unit tests updated and integration tests added for token rotation."

Spoken lists come out as a numbered list, and "new line" starts a new line. Add Markdown headings with the keyboard if your template uses them.


Xcode Integration for iOS/macOS Developers#

Swift codebases carry a lot of documentation and long descriptive names, and the documentation part suits voice.

Swift Documentation Comments#

  1. Click inside a function's signature and press ⌥⌘/ (Editor ▸ Structure ▸ Add Documentation)
  2. Xcode inserts a /// template with placeholders for the summary, each parameter and the return value
  3. Click a placeholder, hold your dictation key and describe it

The result is standard documentation markup that shows up in Xcode's Quick Help.

SwiftUI Context Comments#

When building complex view hierarchies, dictated context comments help reviewers:

"This view renders the user profile card with loading, loaded and error states. ProfileView is injected so previews can use a mock."

Dictating in Terminal Alongside Xcode#

LumeVoice follows your focus: it types into whichever window is active, including Terminal. That's handy for commit messages and notes. For shell commands with flags and paths, typing is still more reliable.


IntelliJ / JetBrains IDE Integration#

All JetBrains IDEs (IntelliJ IDEA, WebStorm, PyCharm, GoLand, PhpStorm, Rider, DataGrip) work the same way, because LumeVoice types into the focused window rather than plugging into the IDE.

High-Value Use Cases in JetBrains IDEs#

Javadoc and KDoc:
Type /** above a method and press Enter. IntelliJ inserts a doc comment stub (with @param and @return tags for Java methods). Click into it and dictate the descriptions. Add your domain terms to Lume's dictionary so class and library names come out right.

TODO comments:
Type // TODO: and dictate the rest:

"refactor this service to use the repository pattern instead of direct database calls, see ticket BACKEND-234 for context"

Test description strings:
In JUnit 5 @DisplayName strings or Kotest test names, dictate the human-readable description:

"returns 404 when the user ID does not exist in the database"

Lume will usually capitalise the first word and may add a full stop; adjust it if your naming convention differs.


Dictating in More Than One Language#

Many teams work across languages. LumeVoice supports 100 languages, so you can discuss a change with your team in Urdu, Hindi, German or Spanish and still write public-facing documentation in English. It detects which language you're speaking, so you don't have to change a setting when you switch.

Describe, Then Implement: Voice Plus an AI Coding Assistant#

A workflow that combines the two kinds of AI:

  1. Dictate the function's intent in plain language as a comment
  2. Let an AI coding assistant such as GitHub Copilot propose an implementation from the comment
  3. Review, test and iterate; the suggestion is a draft, not a guarantee

This "describe, then implement" loop keeps you thinking at the level of the problem, while dictation handles the writing and the assistant suggests code.


Estimating the Gain for Your Own Work#

We won't hand you a percentage, because it depends on how much prose you write. Here's how to estimate it honestly:

  1. Measure your typing speed with a free test such as Monkeytype or Keybr. The Aalto University average is about 52 words a minute.
  2. Compare it with speaking speed, about 120–150 words a minute in conversation. A Stanford, University of Washington and Baidu study found speech input about three times faster than typing on a phone keyboard, with fewer errors.
  3. Try it on a real week. Dictate your PR descriptions, issue comments and Slack replies for five days, using the free words, and notice where it helps and where you reach for the keyboard.

The gain is largest on long prose (READMEs, design docs, PR descriptions) and smallest on short, syntax-heavy text.

A Note on Privacy#

Lume sends audio to the cloud for processing: speech recognition runs on Whisper large-v3-turbo via Groq, with Mistral's Voxtral as a fallback, and a language model then cleans up the text. Audio isn't stored after processing, your transcription history stays on your device, and nothing you say is used to train a model. If your employer restricts sending work content to third-party services, check that policy before dictating about internal projects.


Write Documentation by Voice

LumeVoice works system-wide in VS Code, Xcode, IntelliJ, Terminal, Slack and GitHub: anywhere you have a cursor, on Mac and Windows.

  • Custom dictionary and snippets: your stack's names spelled right, your templates on a cue
  • $14.99/mo, $79.99/yr, or $249 lifetime: pick monthly, annual or a one-time Lifetime licence
  • 100 languages: dictate in Urdu, Hindi, English and more

Try LumeVoice (3,000 free words, no card required) →

Download for MacMac (macOS 11.5+), Windows 10 & 11, iPhone and Android

Further Reading#

Frequently Asked Questions

Is voice coding actually useful for developers?

Yes, in specific contexts: documentation, code comments, commit messages, PR descriptions, Slack or Teams messages, README files and email. For syntax-heavy code with brackets and special characters, the keyboard is still faster and more precise. Some developers combine the two: they dictate the intent as a comment and let an AI completion tool such as GitHub Copilot propose the code.

Does LumeVoice work inside VS Code?

Yes. LumeVoice runs on Mac and Windows and types into whatever app has the cursor, including VS Code, JetBrains IDEs (IntelliJ IDEA, WebStorm, PyCharm, GoLand), Xcode, Sublime Text and terminals. There's no extension to install: click where the text should go, hold fn (Mac) or Ctrl + Win (Windows), speak and release.

How do developers handle technical vocabulary with voice dictation?

Speech recognition copes with many common terms, but library names, acronyms and internal project names are easy to mishear. Add them to LumeVoice's custom dictionary once and they're recognised and spelled the way you write them. Formatting speech into code identifiers (camelCase, snake_case) isn't a documented LumeVoice feature, so add identifiers you use often to the dictionary, or type them.

Can I dictate in languages other than English?

Yes. LumeVoice supports 100 languages, so you can, for example, discuss a change with your team in Urdu, Hindi or German and still write public documentation in English. It detects which language you're speaking, so you don't have to change a setting when you switch.

Mudasir Hussain · Maker of Lume

Builds Lume alone: the Mac, Windows, iPhone and Android apps.

About Lume →