Back to ezstack

VS Code
Extension

Manage stacked pull requests from the VS Code sidebar. See your full stack tree, browse files per branch, check PR and CI status, and navigate between branches — all without leaving the editor.

$ code --install-extension ezstack-4.4.2.vsix
Download VSIX from Releases
Sidebar Panel

Your stacks at a glance

The extension adds an ezstack panel in the activity bar. It displays every stack as a tree with branches, PR state, CI status, and review state — all updated in real time.

1

Stack tree view

See all your stacks organized as trees. Each branch shows its PR number, state (open, draft, merged, closed), CI check summary, and review status. The current branch is highlighted.

# What you see in the sidebar:
Stack: my-feature [a1b2c]
  ├── feature-part1  PR #42 [OPEN]  CI: 3/3 passed  APPROVED
  │   └── feature-part2  PR #43 [DRAFT] CI: pending
  │       └── feature-part3  (no PR)
2

Auto-refresh

The tree watches ~/.ezstack/stacks.json for changes. Whether you use the CLI or the extension, the view stays in sync automatically. No manual refresh needed.

# Use the CLI in a terminal...
$ ezs new my-new-branch

# ...the sidebar updates instantly
✓ Tree view refreshed automatically
3

Status bar

The status bar shows your current branch and stack name at all times. Click it to quickly jump to any branch in your stacks.

# Status bar shows:
$(git-branch) feature-part2  •  my-feature [a1b2c]
Command Palette

Full stack control from the palette

All operations are available via Cmd+Shift+P (or Ctrl+Shift+P) under the ezstack category. Right-click branches in the tree for context menus too.

1

Branch operations

Create, delete, reparent, sync, and push branches directly from VS Code. Right-click any branch in the sidebar to sync or push it headlessly.

# Available commands:
ezstack: New Branch       # Create a new stacked branch
ezstack: Sync             # Sync rebases (opens terminal)
ezstack: Sync Branch     # Sync a specific branch (headless)
ezstack: Push Branch     # Push current or specific branch
ezstack: Push Stack      # Push all branches in stack
ezstack: Delete Branch   # Delete branch and worktree
ezstack: Reparent Branch # Move to a different parent
2

Pull request operations

Create PRs, toggle draft status, merge, and update the stack navigation table in all PR descriptions — without switching to the browser.

# PR commands:
ezstack: Create PR                 # Prompts for title and draft/ready
ezstack: Update PR                 # Update PR base branch
ezstack: Merge PR                  # Squash, merge, or rebase
ezstack: Toggle PR Draft           # Switch draft status
ezstack: Update Stack Info in PRs  # Update navigation tables
3

AI agent integration

Launch the ezstack AI agent or the feature builder directly from the sidebar. Edit agent prompts without leaving the editor. Requires worktree mode (use_worktrees: true).

# Agent commands:
ezstack: Open Agent             # Launch agent on current branch
ezstack: Build Feature with Agent # Describe a feature, get stacked PRs
ezstack: Edit Agent Prompt      # Customize agent prompts
File Browser

Navigate files across your stack

Browse the file tree of any branch's worktree. Jump between the same file in different PRs with keyboard shortcuts, or diff against the parent branch.

1

Per-branch file tree

The Files panel shows the worktree of whichever branch you're on. Browse, open files, and favorite frequently accessed paths. Filter by favorites to cut through the noise.

# Files panel in the sidebar:
📁 src/
  📁 auth/
    📄 middleware.go  
    📄 types.go
  📁 routes/
    📄 auth.go        
📄 go.mod
2

Jump between PRs

Use Cmd+Alt+Up and Cmd+Alt+Down to open the same file in the parent or child branch. Compare changes across the stack without manually switching worktrees.

# Keyboard shortcuts:
Cmd+Alt+Up    # Open file in previous (parent) PR
Cmd+Alt+Down  # Open file in next (child) PR

# Also available from right-click menu:
Compare File with Previous PR  # Side-by-side diff
3

Context menus everywhere

Right-click any branch in the tree to push, create PRs, open in a new VS Code window, merge, toggle draft, delete, or reparent. Right-click files to copy paths, reveal in Finder, or open in terminal.

# Right-click a branch:
Open in New Window       # Opens worktree folder
Open PR in Browser       # Jump to GitHub PR
Push Branch              # Git push
Create PR / Merge PR     # PR actions
Open in Terminal         # Integrated terminal in worktree

Installation

Download the VSIX and install it in under a minute. Requires the ezs CLI, Git 2.20+, and gh (GitHub CLI) for PR features.

From pre-built VSIX

Download the .vsix file from the latest release and install via the command line or the VS Code UI.

# Install from terminal
$ code --install-extension ezstack-4.4.2.vsix

# Or in VS Code:
Cmd+Shift+P → "Install from VSIX"
→ select the downloaded .vsix file

From source

Clone the repo, build the extension, and install the generated VSIX.

$ cd vscode-extension
$ npm install
$ npm run compile
$ npx vsce package
  → produces ezstack-4.4.2.vsix
$ code --install-extension ezstack-4.4.2.vsix

Configuration

Customize the extension behavior in VS Code settings.

Setting Default Description
ezstack.cliPath "ezs" Path to the ezs CLI binary
ezstack.autoRefresh true Auto-refresh tree view when config files change
ezstack.ticketPattern "" Regex to extract ticket IDs from branch names (e.g. PROJ-\d+). Shown in status bar and folder badges
Download v4.4.2 VSIX