Skip to content

AI Text & Code Editing UX Research

How Leading AI Editors Show Proposed Changes

Section titled “How Leading AI Editors Show Proposed Changes”
  • Inline diff with color-coding: When using Inline Edit (Cmd+K), Cursor shows additions in green and deletions in red before acceptance
  • Cursor Flow: Predicts next location + next edit, allowing users to Tab through a sequence of low-entropy changes (Tab pressed 11 times, other keys only 3)
  • Cursor Blame (Enterprise): Links each line of code to the conversation that produced it, distinguishing between Tab completions, agent runs, and human edits
  • Background editing: For larger edits, work happens asynchronously — users write pseudocode that gets “compiled” into full changes

Philosophy: “Should feel like an extension of your will. The moment you think of a change, minimal intent executes it instantly.”

  • Ghost text: Dimmed placeholder text at cursor for completions, accepted via Tab
  • Next Edit Suggestions (NES): Arrow in gutter indicates available edit suggestions for existing code (not just completions). Tab navigates to it, Tab again accepts
  • Inline diff for multi-file edits: Changes applied directly to disk with pending status tracked. Squared-dot icon in Explorer and tabs indicates pending edits
  • Accept/Discard widgets: Hover over changes to accept/reject individually or all at once
  • Working Set concept: Users explicitly define which files can be edited, giving precise control over scope
  • Cascade Bar: Dedicated UI showing which files have been changed by the AI agent
  • Continuous context awareness: Memories track codebase details, Rules maintain code patterns
  • Tab to Jump / Tab to Import: Suggestions go beyond code to include navigation and dependency management
  • Turbo Mode: Auto-executes terminal commands to keep developers in flow

PatternDescription
Unified vs Split viewsLet users toggle based on preference
Intraline highlightingShow character-level changes within modified lines
Whitespace detectionAuto-collapse whitespace-only changes to reduce noise
Collapsible contextHide unchanged code by default, expand incrementally
Gutter indicatorsColor-coded margins (green/red/yellow) show change status at a glance
Navigation arrowsUp/down controls to jump between changes
Inline commentsFeedback directly on specific lines within the diff
Keyboard navigationFull keyboard support for accessibility (arrow keys, Enter to accept)
Source control integrationStaging changes auto-accepts pending AI edits
Sensitive file protectionApproval prompts with diff preview for config files (.env, .vscode/*.json)

Key insight: Context management is critical — showing enough surrounding code to understand changes without overwhelming the reviewer.


“We’re still in a command-line moment, wearing wizard hats just to ask a machine for help.”

The article traces computing UX evolution:

  1. Batch processing → Submit instructions, wait hours
  2. Command line → Type precise commands
  3. GUI → Visual, drag-and-drop
  4. ChatGPT moment → Simple chatbox anyone can use

AI editors are transitioning from #2 to #3 right now.

PrincipleImplementation
State intent, not methodUsers say “what they want,” AI figures out “how” (Manus approach)
Embedded, not externalAI lives inside the workspace, not in a separate chat window
On-demand initiationLet users request suggestions rather than constantly interrupting
Micro-suggestionsSentence/line-level changes, not full rewrites
Voice anchoringMaintain the user’s style rather than homogenizing
ProvenanceShow why suggestions were made to build trust

AI assistance can reduce users’ sense of authorship (–0.85-1.0 points on a 7-point scale). Mitigations:

  • Style personalization partially restores ownership (+0.43 points)
  • Let users accept/reject granularly
  • Show the reasoning behind changes

Bear/Apple Notes Design Principles (for simplicity)

Section titled “Bear/Apple Notes Design Principles (for simplicity)”
  • Three-pane layout (familiar mental model)
  • Text-focused, distraction-free
  • Markdown with hidden syntax (power when needed, clean when reading)
  • Light/dark modes
  • Quick capture as the primary use case

  • Press Space to preview without opening
  • Support for images, PDFs, code with syntax highlighting
  • Extensions via plugins (Glance adds format support)
  • No commitment required — pure read-only inspection
  • iPreview: Instant previews across Finder/Spotlight, syntax highlighting for developers
  • Fileloupe: Fast browsing without imports/library management
PatternExample
Ghost textGitHub Copilot inline suggestions
Inline diff overlayVS Code Copilot Edits showing changes in-place
Gutter arrowsCopilot NES indicating available edits
Side-by-side panelsCopilot Edits in Secondary Side Bar while Testing view in Primary
Cascade BarWindsurf’s dedicated file change indicator
Plan visualizationCursor’s Mermaid diagrams for agent plans

  • Integrated browsing: Extensions view via Activity Bar (⇧⌘X)
  • Discovery features: Popular extensions, ratings, download counts
  • Search/filter: By title, metadata, categories (predefined list)
  • Detail pages: Full description, README, changelog
  • One-click install: Install button → Manage gear
  • Version management: Right-click for specific versions
  • Security dialog: Trust confirmation for third-party publishers (since v1.97)
  • Sync settings: “Do Not Sync” option per extension

  1. The best prompt is no prompt: Next Edit Suggestions and Cursor Flow show the frontier is anticipating user intent, not waiting for instructions

  2. Inline > Modal: Changes shown in-place with accept/reject controls beat separate preview windows

  3. Scope control matters: Working Set concept lets users define boundaries for AI changes

  4. Speed over perfection: Users can iterate quickly with Undo/Redo rather than waiting for perfect first results

  5. Progressive disclosure: Start simple (Tab to accept), reveal power features (partial accept, multi-file navigation) on demand

  6. Non-technical users need goal-level interfaces: “Build a login page” not “create auth.tsx and import bcrypt”

  7. Trust through transparency: Cursor Blame, provenance, and diff views build confidence in AI changes