ContextliContextli
Developer 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.

Speaking β‰ˆ150 wpm vs typing β‰ˆ40 wpm (Stanford, 2016)

Contextli β€” VS Code
You Say

β€œThis function validates an email address, it takes a string called email and returns true if the …”

JSDoc Generator
Contextli Outputs
/**
 * Validates an email address format
 * @param {string} email - The email address to validate
 * @returns {boolean} True if the email format is…

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.

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
 */

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.

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`

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
You 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"

Contextli 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
You 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"

Contextli 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

Code context awareness

Contextli

Yes

Understands you're documenting code

VS Code Built-in Voice Typing

No

Raw transcription only

JSDoc formatting

Contextli

Yes

Auto-generates @param, @returns tags

VS Code Built-in Voice Typing

No

Manual formatting required

Technical terminology

Contextli

Yes

Recognizes API, async, callback, etc.

VS Code Built-in Voice Typing

Partial

Often mistranscribes

Commit message format

Contextli

Yes

Conventional commits support

VS Code Built-in Voice Typing

No

No formatting

Setup time

Contextli

Partial

1 minute

VS Code Built-in Voice Typing

Partial

Built-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

Code documentation

Contextli

Yes

Purpose-built for docs

Talon Voice

Yes

Possible with custom commands

Setup complexity

Contextli

Partial

1 minute download

Talon Voice

Partial

2+ hours learning curve

Custom commands needed

Contextli

No

Works out of the box

Talon Voice

Yes

Required for most tasks

Hands-free coding

Contextli

No

Documentation focus

Talon Voice

Yes

Full editor control

Learning curve

Contextli

Partial

Minimal-just speak naturally

Talon Voice

Partial

Steep-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

VS Code Integration Details

Supported Formats

  • JSDoc comments
  • TSDoc comments
  • Single-line comments (//)
  • Multi-line comments (/* */)
  • Markdown
  • Plain text

Pro 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)

Good to Know

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

Platform Support

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

What Our Users Say

Start Using Voice Dictation in VS Code

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