Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Tab LayoutNew to Visual Studio Code? Get it now.
Tab Layout

Tab Layout

Leawind

|
314 installs
| (1) | Free
Save and load tab layouts in a workspace
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Tab Layout

Manage layouts in a workspace

demo

Features

  • Manage layouts in tree view

    • Sort layouts by name or recent use
    • Switch between saved layouts
    • Organize, create, rename, and delete layout folders
    • Drag layouts and folders between folders
    • Add / Delete / Rename / Duplicate layouts
    • Select a layout and press F2 to rename it
    • Lock shared layouts to prevent accidental changes
  • Show current layout name in status bar

    status-bar

What information do a layout contain

  • Tab groups and their tabs
  • Orientation and size of each tab groups

How layouts stored

Layouts are stored below ${workspaceRoot}/.vscode/layouts/. Subdirectories are shown as folders in the layout tree:

.vscode/layouts/
├── frontend/
│   ├── coding.json
│   └── review.json
└── overview.json
  • if any layout is selected, auto save to that active layout
  • If no layout is selected, won't auto save
  • Locked layouts can be loaded and duplicated, but are never auto-saved or overwritten.
  • Workspace files are stored as workspace-relative paths. Resources outside the workspace retain their URI and may not be portable to another machine.

Sharing layouts

Layout files can be committed like other workspace configuration. Loading a layout does not modify its JSON; recent-use timestamps are kept in VS Code workspace state instead.

If the repository ignores .vscode/layouts/, add selected files explicitly (for Git, for example, git add -f .vscode/layouts/shared/review.json) or adjust the repository's ignore rules. Lock a committed layout when it should act as a read-only team template. Duplicating it creates an unlocked personal copy.

Limitations

  • Only available for single root workspaces, which is the most common use case.
  • VS Code does not expose inline editing for extension-provided tree items, so F2 uses a name input box rather than Explorer-style in-place editing.

When clause context

Key Type Description
tab-layout.sort_by string Sort method for layouts in tree view. Values: 'name', 'recent'
tab-layout.available boolean Indicates whether the TabLayout extension is available for the current workspace (true when workspace has exactly one folder)
tab-layout.enabled boolean Indicates whether a layout is currently active (true when there's an layout selected)
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft