Skip to content

vscode: sidebar UX polish — reduce Builders menu density, add Cleanup to row menu, rename worktree-open commands #795

@amrmelsayed

Description

@amrmelsayed

Problem

An audit of every view/item/context and view/title menu entry contributed by the Codev VS Code extension surfaced three concrete UX gaps in the sidebar:

  1. The Builders row context menu has accumulated 10+ entries across four groups (inline, 1_primary, 2_worktree, 3_dev). Right-clicking a busy row produces a long, scrolling menu that's hard to scan.
  2. The most destructive builder action — Cleanup Builder — is palette-only (commands/cleanup.ts), asymmetric with every other builder action which lives on the row context menu.
  3. Two worktree-open commands sit next to each other in the Builders menu (Open Worktree in New Window and Open Worktree Folder) with titles that don't convey the actual difference — one opens VS Code on the worktree, the other reveals it in the OS file manager.

Scope (single PR consolidating P1, P3, P4)

These three sub-refactors are all sidebar UX polish, share package.json plumbing, and naturally land in one PR.

P1 — Reduce Builders context-menu density

P3 — Add Cleanup Builder to the Builders context menu

  • Add a codev.cleanupBuilder entry to the view/item/context menu for Builders, in a new 9_destructive@1 group (bottom-most, visually separated).
  • Add a confirmation modal: Cleanup builder #<id> "<title>"? This deletes the worktree branch. with Cleanup / Cancel. The destructiveness of git worktree remove warrants explicit confirmation.
  • Keep the palette entry; the row menu is an additional surface, not a replacement.

P4 — Rename ambiguous worktree-open commands

  • Current titles: Codev: Open Worktree in New Window and Codev: Open Worktree Folder.
  • Proposed titles:
    • codev.openWorktreeWindowCodev: Open Worktree in VS Code (it opens a new VS Code window on the worktree)
    • codev.openWorktreeFolderCodev: Reveal Worktree in Finder (or Explorer on Windows / Files on Linux — use vscode.workspace.isUntitled-style platform detection or a generic Reveal Worktree in File Manager).
  • Update both contributes.commands titles and the corresponding view/item/context menu entries.

Acceptance criteria

P1

  • Builders row context menu reduced to ≤6 visible entries by default (excluding the inline approve icon).
  • A "More Actions ▸" submenu (or equivalent) houses the demoted entries.
  • Submenu groups preserve the existing logical grouping (worktree-open variants, setup, stop).

P3

  • codev.cleanupBuilder appears on every builder row in the Builders view, bottom group.
  • Invoking it shows a confirmation modal naming the builder; declining the modal does nothing.
  • Palette entry remains unchanged.

P4

  • codev.openWorktreeWindow title says explicitly "in VS Code" (not "in New Window").
  • codev.openWorktreeFolder title says "Reveal" (not "Open") and names the OS file manager when feasible.
  • All menu locations referencing these commands pick up the new titles.

Out of scope

Source

Derived from the popup-actions audit run on 2026-05-21 across packages/vscode/package.json (contributes.menus) and underlying command handlers. ~30 menu entries inventoried; this issue covers the three concrete UX gaps that audit identified (P1, P3, P4 in the audit synthesis).

Metadata

Metadata

Assignees

Labels

area/vscodeArea: VS Code extensionprojectNew project or feature

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions