Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Project Lanes - Fast SwitchingNew to Visual Studio Code? Get it now.
Project Lanes - Fast Switching

Project Lanes - Fast Switching

YukiIto1999

|
13 installs
| (0) | Free
Manage projects as lanes within a workspace and switch Explorer, terminals, and editor tabs in one click
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

English | 日本語

A VS Code extension that manages projects as "lanes" within a workspace and switches the full context at once. Built for developers running AI coding agents across multiple projects.

The Problem

When running many projects:

  • Explorer shows all projects flat, hard to navigate
  • Terminals pile up across projects
  • Editor tabs from different projects get mixed
  • No way to tell which project's agent is idle when running agents in parallel

Features

Each project becomes a "lane". Switching lanes swaps Explorer, editor tabs, terminals, and Git together. The switch is a view change — background terminals keep running because the workspace folder URI stays stable (a .lanes-root/active symlink whose target is updated on switch).

  • Lane switching
    • Explorer and Git show only the active lane
    • Editor tabs are saved and restored per lane
    • Terminals persist in the background across switches
  • Activity indicator
    • Shows working / waiting / no-agent per lane, including lanes that aren't currently active
    • Detection is a generic heuristic over OSC 633 shell integration (bash / zsh) and real-time PTY output observation; not specific to any agent
  • Lane management
    • Add and reload lanes from title-bar icons on the Lanes panel
    • Rename or remove a lane via right-click on the lane item. Rename preserves the lane's terminal sessions; remove rejects the active lane and never touches the folder on disk

Commands

Command Description
Project Lanes: Switch Lane Switch to a lane
Project Lanes: Add Folder to Workspace Add a folder as a new lane via a folder picker rooted at the active lane's parent
Project Lanes: Reload Lanes Re-scan workspaceFolders / symlink target / catalog store and rebuild the registry
Project Lanes: Rename Lane Rename the selected lane's label (the lane's id changes to match)
Project Lanes: Remove Lane Remove the selected lane from the catalog (the folder on disk is left untouched)
Project Lanes: Close Terminals Kill all terminal sessions for the active lane
Project Lanes: Find in Lanes Search file contents across all lanes with ripgrep and jump to a match
Project Lanes: Go to File in Lanes Fuzzy-find a file across all lanes and open it

Settings

Setting Default Description
projectLanes.activity.showIndicator true Show activity indicator in badge, decoration, and status bar
projectLanes.terminal.shellPath "" Shell path for Lane Terminal (empty = $SHELL)

Limitations

  • The symlink-based lane switching assumes a POSIX filesystem (Linux / macOS); Windows is untested
  • Activity detection requires shell integration via bash or zsh and OSC 633. Other shells (fish, pwsh, etc.) skip injection and fall back to no-agent
  • Tab restore covers normal file tabs only (not diff views, notebooks, etc.)
  • Terminal sessions don't survive VS Code window reloads
  • The extension creates .lanes-root/ next to the .code-workspace file; add it to .gitignore if you don't want it tracked

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft