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.
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.
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.
- 1
Position cursor above your function
Place cursor on the line before the function declaration
- 2
Activate Contextli
Press your configured hotkey to start recording
⌘+Shift+V - 3
Describe the function naturally
Say what it does, parameters, return value, and any errors it might throw
- 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.
- 1
Stage your changes
Use git add as normal
- 2
Start commit with Contextli
Run git commit, then activate Contextli in the message editor
⌘+Shift+V - 3
Describe your changes
Explain what you did and why—Contextli formats it as a conventional commit
- 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
Voice to VS Code: Real Examples
What you say versus what Contextli produces for VS Code.
"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"
/**
* 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
*/"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"
feat(settings): add dark mode toggle Users can now switch between light and dark themes. Preference persists via localStorage. Closes #87
Contextli vs Other VS Code Voice Solutions
Contextli vs VS Code Built-in Voice Typing
| Feature | Contextli | VS 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 time | 1 minute | 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
| Feature | Contextli | Talon Voice |
|---|---|---|
| Code documentation | ✅ Purpose-built for docs | ✅ Possible with custom commands |
| Setup complexity | 1 minute download | 2+ hours learning curve |
| Custom commands needed | ❌ Works out of the box | ✅ Required for most tasks |
| Hands-free coding | ❌ Documentation focus | ✅ Full editor control |
| Learning curve | Minimal—just speak naturally | 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
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
Start Using Voice Dictation in VS Code
Transform how you work in VS Code with context-aware voice dictation.
Related Integrations
Cursor
Write code comments, documentation, and AI prompts by voice. Contextli complements Cursor's AI capabilities with efficient voice input for the non-code parts of development.
GitHub
Create issues, write PR descriptions, and leave detailed code review comments—all by voice. Contextli formats for GitHub's markdown conventions.
GitLab
Create issues, write merge request descriptions, and document in GitLab wiki—all by voice. Contextli understands GitLab's conventions.
Xcode
Document your Swift and SwiftUI code by voice. Contextli formats comments and documentation following Apple's conventions.