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

No labels
No labels

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