⚠️ Beta Version - This extension is currently in beta. Features may change and bugs may occur. Please report any issues!
Browser-style workspace tabs for VS Code / Cursor. Isolate editors, explorer focus, and state per repository in multi-root workspaces.
- Repo Tabs in Status Bar - Visual tabs for each workspace folder
- Editor Isolation - Each repo remembers its own open files
- State Persistence - Tabs and open editors persist across sessions
- Keyboard Shortcuts -
Cmd+1-9(Mac) /Ctrl+1-9(Win/Linux) to switch - Explorer Focus - Automatically focuses explorer on the active repo
- Git Integration - Shows branch name and dirty status per repo
- Quick Open Filtering -
Cmd+P/Ctrl+Pfilters files to the active repository
When you switch repo tabs:
- Saves current open editors and cursor positions
- Closes all editors (configurable)
- Restores saved editors for the target repo
- Focuses explorer on that repo's folder
This gives you a "browser tab" experience where each repo has its own isolated workspace.
Note: This extension is not available on the VS Code Marketplace. You must build and install it locally.
- Clone or download this repository
- Build and package the extension:
cd repoTab
npm install
npm run compile
npm run package- Install the generated
.vsixfile using one of the following commands:
For Cursor:
cursor --install-extension repo-tabs-1.0.0.vsix --forceFor VS Code:
code --install-extension repo-tabs-1.0.0.vsix --forceOr install manually:
- Open Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) - Run "Extensions: Install from VSIX..."
- Select the generated
repo-tabs-1.0.0.vsixfile
- Open this folder in VS Code / Cursor
- Run
npm install - Press
F5to launch Extension Development Host
| Shortcut | Action |
|---|---|
Cmd+1 / Ctrl+1 |
Switch to Repo Tab 1 |
Cmd+2 / Ctrl+2 |
Switch to Repo Tab 2 |
| ... | ... |
Cmd+9 / Ctrl+9 |
Switch to Repo Tab 9 |
Ctrl+Tab |
Next Tab |
Ctrl+Shift+Tab |
Previous Tab |
Tabs appear in the left side of the status bar:
$(folder) my-api | $(folder) my-frontend | $(folder) scripts
^ ^ ^ ^
| | | |
icon name icon name
- Active tab is highlighted
- Shows icon and repo name only
- Hover to see full path, git branch, open files, and keyboard shortcut
| Setting | Default | Description |
|---|---|---|
repoTabs.enabled |
true |
Enable/disable the extension |
repoTabs.autoSwitchOnFileOpen |
false |
Auto-switch when opening a file from another repo |
repoTabs.preserveEditorsAcrossTabs |
false |
Keep editors open when switching (only change focus) |
repoTabs.autoFocusExplorer |
false |
Auto collapse/expand folders in explorer when switching tabs (only if sidebar is open) |
| Command | Description |
|---|---|
RepoTabs: Switch to Tab 1-9 |
Switch to specific tab |
RepoTabs: Next Tab |
Switch to next tab |
RepoTabs: Previous Tab |
Switch to previous tab |
RepoTabs: Refresh Tabs |
Refresh tabs from workspace |
RepoTabs: Quick Open (Filtered to Active Repo) |
Open Quick Open filtered to active repository |
-
Cursor Compatibility: This extension is designed to work in both VS Code and Cursor. However, some features may behave slightly differently in Cursor.
-
Large Workspaces: With many workspace folders (10+), the status bar may become crowded. Consider using keyboard shortcuts instead.
-
Explorer Filtering: The extension focuses the explorer on the active repo but doesn't hide other folders (VS Code API limitation).
- Make sure you have a multi-root workspace (2+ folders)
- Check that
repoTabs.enabledistruein settings - Try running "RepoTabs: Refresh Tabs" command
- Check for conflicting keybindings in Keyboard Shortcuts
- Make sure
repoTabs.activecontext is set (visible in status bar)
Files that have been deleted won't restore. The extension silently skips missing files.
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch mode
npm run watch
# Package for distribution
npm run packageThis project is licensed under the MIT License.
Issues and PRs welcome!