ContextliContextli
appsDeveloper Tools

Voice Dictation for VS Code: Code Comments, JSDoc & Git Commits

Dictate documentation, comments, and commit messages while coding. Contextli understands code context and formats JSDoc, inline comments, and conventional commits automatically.

Most developers type 50-80 WPM but can speak at 150+ WPM. When documenting code, that speed difference adds up. VS Code developers waste hours each week typing JSDoc comments, commit messages, and code explanations that could be dictated in seconds. Contextli bridges this gap with voice dictation that understands code context—turning natural speech into properly formatted documentation without leaving your editor.

Pre-Built Modes

Contextli Modes for VS Code

Each mode transforms your voice into VS Code-ready content with specific formatting.

tune

JSDoc Generator

Transforms spoken function descriptions into properly formatted JSDoc comment blocks

Best for: JavaScript/TypeScript developers documenting functions and classes

You say:

"This function validates an email address, it takes a string called email and returns true if the email format is valid, throws an error if the input is not a string"

Contextli outputs:

/**
 * Validates an email address format
 * @param {string} email - The email address to validate
 * @returns {boolean} True if the email format is valid
 * @throws {TypeError} If the input is not a string
 */
tune

Conventional Commits

Formats spoken descriptions into conventional commit message format

Best for: Teams using conventional commits for semantic versioning

You say:

"I fixed the bug where users could submit the form twice by disabling the button after click, this was in the checkout component"

Contextli outputs:

fix(checkout): prevent double form submission

Disable submit button after first click to prevent
duplicate charges when users click rapidly.
tune

Code Review Comments

Formats feedback into clear, actionable code review comments

Best for: Senior developers and tech leads reviewing pull requests

You say:

"This function is doing too many things, it should be split into separate functions for validation and processing, also the variable name data is too generic"

Contextli outputs:

**Suggestion: Split this function**

This function handles both validation and processing. Consider:
1. Extract validation logic to `validateInput()`
2. Keep processing in current function
3. Rename `data` to something descriptive like `userPayload`
tune

Inline Comment

Creates concise inline comments explaining code logic

Best for: Documenting complex regex, algorithms, or business logic

You say:

"This regex checks for valid US phone numbers including optional country code and various separator formats"

Contextli outputs:

// Matches US phone numbers: +1 (555) 123-4567, 555.123.4567, etc.
Real-World Workflows

How to Use Contextli in VS Code

Step-by-step workflows for common VS Code tasks.

Document API Functions During Development

You're building a REST API and need to document each endpoint function with JSDoc comments for your team.

Backend DeveloperSaves 2-3 minutes per function (vs typing JSDoc manually)
  1. 1

    Position cursor above your function

    Place cursor on the line before the function declaration

  2. 2

    Activate Contextli

    Press your configured hotkey to start recording

    ⌘+Shift+V
  3. 3

    Describe the function naturally

    Say what it does, parameters, return value, and any errors it might throw

  4. 4

    Release to insert

    Contextli formats and inserts the JSDoc comment block

Example Output:

/**
 * Retrieves user profile by ID
 * @param {string} userId - The unique user identifier
 * @returns {Promise<User>} The user profile object
 * @throws {NotFoundError} If user doesn't exist
 */

Write Commit Messages Without Leaving the Terminal

You've just finished a feature and need to commit with a descriptive message following your team's conventional commits standard.

Full-Stack DeveloperSaves 30 seconds per commit (vs typing and formatting manually)
  1. 1

    Stage your changes

    Use git add as normal

  2. 2

    Start commit with Contextli

    Run git commit, then activate Contextli in the message editor

    ⌘+Shift+V
  3. 3

    Describe your changes

    Explain what you did and why—Contextli formats it as a conventional commit

  4. 4

    Review and save

    Check the formatted message, save and close

Example Output:

feat(auth): add OAuth2 login with Google

Implement Google OAuth2 flow for user authentication.
Includes token refresh and session management.

Closes #142
See It In Action

Voice to VS Code: Real Examples

What you say versus what Contextli produces for VS Code.

Documenting a React hook
micYou Say

"This hook manages user authentication state, it returns the current user object which can be null if not logged in, a login function that takes email and password, a logout function, and a loading boolean"

auto_awesomeContextli Outputs
/**
 * Manages user authentication state
 * @returns {Object} Authentication state and methods
 * @returns {User|null} returns.user - Current user or null if not authenticated
 * @returns {Function} returns.login - Login function accepting (email, password)
 * @returns {Function} returns.logout - Logs out the current user
 * @returns {boolean} returns.loading - True while auth state is being determined
 */
Writing a git commit message
micYou Say

"Added dark mode support to the settings page, users can now toggle between light and dark themes, the preference is saved to local storage, this closes issue 87"

auto_awesomeContextli Outputs
feat(settings): add dark mode toggle

Users can now switch between light and dark themes.
Preference persists via localStorage.

Closes #87
Comparison

Contextli vs Other VS Code Voice Solutions

Contextli vs VS Code Built-in Voice Typing

FeatureContextliVS Code Built-in Voice Typing
Code context awareness✅ Understands you're documenting code❌ Raw transcription only
JSDoc formatting✅ Auto-generates @param, @returns tags❌ Manual formatting required
Technical terminology✅ Recognizes API, async, callback, etc.⚠️ Often mistranscribes
Commit message format✅ Conventional commits support❌ No formatting
Setup time1 minuteBuilt-in (but limited)

VS Code's built-in dictation gives raw text requiring manual formatting. Contextli understands code context and produces documentation-ready output.

Contextli vs Talon Voice

FeatureContextliTalon Voice
Code documentation✅ Purpose-built for docs✅ Possible with custom commands
Setup complexity1 minute download2+ hours learning curve
Custom commands needed❌ Works out of the box✅ Required for most tasks
Hands-free coding❌ Documentation focus✅ Full editor control
Learning curveMinimal—just speak naturallySteep—custom grammar required

Talon Voice is powerful for full hands-free coding but requires significant setup. Contextli focuses specifically on documentation and comments with zero configuration.

Why Use Contextli for VS Code?

Generic voice dictation dumps raw text that needs heavy editing. Contextli understands you're in a code editor and formats accordingly: JSDoc comments get proper @param tags, commit messages follow conventional commits, and technical terminology is transcribed correctly. You speak naturally; Contextli handles the formatting.

VS Code + Contextli: Common Questions

Does Contextli work alongside GitHub Copilot in VS Code?

Yes, Contextli and GitHub Copilot serve different purposes and work perfectly together. Use Copilot for code generation and Contextli for documentation. A common workflow: write code with Copilot, then use Contextli to dictate JSDoc comments explaining what the code does.

Which programming languages does Contextli support in VS Code?

Contextli works with any language in VS Code—JavaScript, TypeScript, Python, Java, Go, Rust, C++, and more. The JSDoc mode is optimized for JS/TS, but the technical terminology recognition works across all languages. You can also create custom modes for language-specific documentation formats like Python docstrings.

Can I dictate directly into the VS Code terminal?

Yes, Contextli works anywhere you can type in VS Code, including the integrated terminal. This is especially useful for dictating git commit messages, writing CLI documentation, or adding comments to shell scripts.

How does Contextli handle technical terms and variable names?

Contextli is trained to recognize common programming terminology—API, async, callback, middleware, useState, etc. For variable names in your codebase, speak them phonetically or spell them out. Pro tip: Create a custom mode with your project's common terms for better recognition.

Does Contextli support VS Code on Linux?

Contextli is currently available for macOS, with Windows support coming soon. Linux support is on the roadmap—join the waitlist to be notified when it's available.

VS Code Integration Details

descriptionSupported Formats

  • checkJSDoc comments
  • checkTSDoc comments
  • checkSingle-line comments (//)
  • checkMulti-line comments (/* */)
  • checkMarkdown
  • checkPlain text

lightbulbPro Tips

  • Create a "Commit Message" mode that auto-formats to your team's convention
  • Use the JSDoc mode even for explaining complex regex—just describe what it matches
  • Set up a keyboard shortcut that's easy to hit without leaving home row (e.g., Caps Lock as modifier)

infoGood to Know

  • arrow_rightDictation inserts text at cursor—does not execute code or commands
  • arrow_rightVariable names from your codebase may need phonetic spelling
  • arrow_rightReal-time collaboration (Live Share) has slight delay in text insertion

devicesPlatform Support

Works in VS Code on macOS. Windows support coming soon.

Related Searches

How do I add comments faster in VS Code?Best voice typing extension for VS CodeHow to dictate code documentationVS Code speech to text for programmingHands-free coding tools for developersHow to write JSDoc comments quickly

Start Using Voice Dictation in VS Code

Transform how you work in VS Code with context-aware voice dictation.