Skip to content
Start here

POPULAR GUIDES

    FROM THE DOCUMENTATION

    Open this guide ↗
    ↑ ↓ select ↵ open esc closeV3Code Docs
    The editoreditor

    Turbo Draft

    ↗ View as Markdown

    Turn the file in front of you into a complete, reviewable change — fast, deep, or across related files.

    Turbo Draft is the step between autocomplete and a full agent task. Put the cursor in a file, press a shortcut, and V3Code infers the unfinished intent, gathers relevant code and compiler facts, then returns a diff you review hunk by hunk.

    It does not silently save, commit, or publish anything. You decide which hunks stay.

    Turbo Draft is a good fit when the work is visible in the editor but would be tedious to spell out in chat:

    • Finish a partially implemented file.
    • Turn a short comment-only brief into a scaffold.
    • Implement a nearby TODO or FIXME.
    • Complete work described by an open plan.md, spec.md, or similar document.
    • Make a deeper pass that follows the callers of the code you are changing.
    • Finish prose or documentation from the intent already on the page.

    Use a normal refactor for a deterministic rename. Use Agent mode when the task needs exploration, clarification, commands, tests, and several iterations.

    Action Shortcut Reach for it when
    Turbo Draft Shift + Tab You want the quickest bounded draft in the current file.
    Turbo Draft (Deep) Alt + Shift + Tab The file needs a more complete context-aware pass.
    Turbo Draft (Deep, multi-file) Ctrl + Shift + Q on Windows/Linux; Control + Shift + Q on macOS The change should follow related callers, up to three files.

    You can also run all three actions from the Command Palette or the editor title/context menus.

    1. Leave a useful signal

      Select the most important instruction, place the cursor near a TODO, write a short comment-only brief in a new file, or keep the relevant plan document open.

    2. Choose Fast or Deep

      Press the shortcut. The Turbo Draft dock reports real phases such as reading, recognizing intent, finding context, validating, and creating review tabs.

    3. Review every hunk

      Press Tab to accept the current hunk, Delete or Shift + Tab to reject it, and Escape to discard the remaining draft.

    4. Verify normally

      Turbo Draft checks for newly introduced diagnostics after review. You should still run the project’s relevant formatter, type-check, tests, and build before shipping.

    Turbo Draft looks for intent in a deliberate order so an old project plan does not override what you are doing now:

    1. Your current editor selection.
    2. The nearest TODO, FIXME, HACK, or XXX around the cursor.
    3. A nearly empty, comment-only file brief.
    4. An open plan-like Markdown file.
    5. A general whole-file pass when none of the above exists.

    The request can combine the current file, cursor position, recent accepted Tab/V Go edits, recent agent-chat context, related indexed code, and live language-service facts.

    With Use compiler truth enabled, Turbo Draft asks the language server for current evidence before it generates:

    • Errors and warnings in the file.
    • Nearby real symbol signatures.
    • Call sites related to the code near the cursor.

    That gives the model actual types and diagnostics instead of asking it to infer them from lookalike code. The packet is time-bounded, so a slow or unavailable language server can produce partial context.

    Fast mode favors a smaller context packet and a bounded answer. Use it for an obvious unfinished block, a small scaffold, or a short document section.

    Deep mode asks for a more complete file-level result and uses related code and chat context more aggressively. Use it when “finish this” means understanding the shape of the whole file.

    Multi-file mode starts with the active file, then follows computed related callers in a small queue. It is intentionally bounded; it is not an unconstrained repository rewrite. For migrations or architectural work, plan the change and let Agent mode execute and test it incrementally.

    Turbo Draft does more than paste a model response into the editor:

    • It accepts only anchored search/replace blocks or an explicit no-change result.
    • It rejects missing, ambiguous, empty, or no-op edit anchors.
    • It can ask the model once to repair malformed edits.
    • It can salvage independently valid hunks when another hunk fails validation.
    • It discards the draft if the source changed while generation was running.
    • It applies valid work through V3Code’s normal diff review surface.
    • It compares diagnostics before and after review and can draft a narrow fix for new errors.

    These checks protect the edit transaction; they do not prove that the change is correct for your application. Human review, tests, and builds still matter.

    Open Settings → Features → Turbo Draft.

    Control Default Does
    Same as Chat model Off When enabled, Turbo Draft follows the eligible cloud model selected for Chat.
    Turbo Draft model Not selected until configured Lets you dedicate a compatible cloud chat model to drafting.
    Use compiler truth On Adds live diagnostics, signatures, and call sites when available.
    Verify draft On Checks accepted work for newly introduced errors and can prepare a focused repair.

    Small local FIM models are designed for Autocomplete and V Go, not whole-file drafting, so Turbo Draft requires a compatible cloud chat model.

    While reviewing Shortcut
    Accept current hunk and advance Tab
    Reject current hunk and advance Delete or Shift + Tab
    Discard all remaining hunks Escape
    Cancel an active generation Run Turbo Draft: Cancel from the Command Palette
    V3Code asks me to pick a model

    Open Settings → Features → Turbo Draft and choose a compatible cloud chat model, or turn on Same as Chat model when Chat already uses one.

    Turbo Draft returns no changes

    Give it a stronger local signal: select the instruction, add a nearby TODO, or put a concise comment-only brief at the top of a new file. Deep mode is a better fit when the intent depends on the whole document.

    The draft was discarded because the source changed

    The file changed while the model was working, so V3Code rejected the stale result. Keep the new typing, then run the draft again against the current source.

    Compiler truth is empty or incomplete

    Confirm the language extension for that file is active and that the Problems panel, hover, and references work normally. Turbo Draft can continue with partial context, but you should verify the result more carefully.

    The draft is structurally valid but wrong

    Reject the hunk. Quality gates verify safe anchoring and review flow, not your business requirements. Use Agent mode when the work needs tests, interactive clarification, or a longer feedback loop.