Neural Inverse is Open Source →
GuidesAI Chat & Inline Edit
GuidesOpen Source ContributingAI Chat & Inline Edit

AI Chat & Inline Edit

The core AI features that every user interacts with daily.


The sidebar chat panel supports multiple modes:

ModeWhat it does
AskStandard chat with codebase context
ReasoningExtended thinking before responding
AgentMulti-step tool calling (like Power Mode but in the sidebar)
GatherCollects context from files before generating
CopilotFollows along as you code, suggests proactively

Adding context

  • Ctrl+L with code selected: sends that selection as context
  • @file mentions: attach specific files to the conversation
  • Automatic: the chat sees your current file, cursor position, and recent edits

Thread Management

Conversations are persisted as threads. Each thread tracks:

  • Message history (user + assistant)
  • File checkpoints (snapshots before each edit)
  • Staging selections (code context attached to messages)

Threads survive IDE restarts and can be navigated via history.


Inline Edit (Ctrl+K)

Quick code transformation without leaving your editor:

  1. Select code (or place cursor on a line)
  2. Press Ctrl+K
  3. Type what you want changed
  4. LLM generates the edit as an inline diff (red/green)
  5. Accept or reject

How it works internally

  • Creates a "CtrlKZone" — a bounded region in the editor with an input textarea
  • User instruction sent to LLM with the selected code as context
  • Response streams back as search/replace blocks
  • Diffs render inline in real-time (Fast Apply mode)
  • Checkpoints created before and after for undo support

Autocomplete (Tab)

AI-powered completions as you type:

  • Fill-in-middle: completes the current statement
  • Multi-line: suggests entire blocks
  • LRU cached: repeated patterns complete instantly
  • Uses FIM (Fill-In-Middle) capable models for speed
  • Toggle: enableAutocomplete in settings

Best with a fast local model (Ollama) — no round-trip latency.


Fast Apply vs Slow Apply

Neural Inverse uses two strategies for applying LLM-generated code:

Fast Apply (default):

  • LLM outputs search/replace blocks with conflict markers
  • Changes stream directly into the editor as inline diffs
  • Accept/reject buttons appear inline
  • Near-instant visual feedback

Slow Apply (fallback):

  • LLM rewrites the entire file
  • Traditional diff comparison
  • Used when Fast Apply fails or for complete file rewrites

Controlled by enableFastApply in settings.


Commit Message Generation

When you stage changes in the Source Control panel, Neural Inverse can generate commit messages:

  • Uses the model selected for the "SCM" feature
  • Analyzes staged diffs
  • Generates a conventional commit message
  • Includes BYOLLM attribution trailers automatically

Contributing

Key files:

  • void/browser/sidebarPane.ts — sidebar panel registration
  • void/browser/quickEditActions.ts — Ctrl+K action + zone creation
  • void/browser/editCodeService.ts — core apply logic (Fast/Slow)
  • void/browser/autocompleteService.ts — tab completion engine
  • void/browser/chatThreadService.ts — thread persistence and management
  • void/common/voidSettingsTypes.ts — all settings definitions

Was this page helpful?