Simple Tab Saver: Getting Started
Overview
Simple Tab Saver is a Visual Studio extension that saves and restores open document tabs, with multiple saved sets per solution. It supports Visual Studio 2022 and Visual Studio 2026.
Each saved set is called a tab layout and is stored as a plain JSON file with paths relative to the solution, so a tab layout is readable, editable by hand, portable across machines and Visual Studio versions, and shareable with others.
Saving and Restoring
A Save records the currently open document tabs so a later Restore brings them back the way they were:
- tab order and pinned tabs
- the active tab
- cursor line and column, text selection, and scroll position
- tab groups (splits of the editor area) with their orientation and the selected tab in each group
- floating document windows, including their tabs, tab groups, position, size, and maximized or minimized state
- duplicated tabs (the same document opened as multiple tabs), each with its own position, pinned state, and cursor
- tab split views (a tab split into two panes), with the position in each pane
- tool window tabs placed inside the document well, like Test Explorer docked as a tabbed document (optional, restored back into the document well at their saved positions)
- breakpoints per file (optional)
Restore reopens the tabs in the same visual order and rebuilds the tab groups and floating windows in place. Append opens a tab layout's tabs alongside the ones already open, without closing anything.
Toolbar and Menu
The extension adds a Simple Tab Saver toolbar with a tab layouts dropdown and New, Save, Restore, and Management buttons. The dropdown lists the tab layouts saved for the current solution and shows, per entry, an optional tab count, a last-saved age, and marker glyphs for starred, hidden, git, and autosave tab layouts.
Every command is also available from the Extensions > Simple Tab Saver menu on the Visual Studio menu bar, which additionally shows a Selected label with the currently selected tab layout so the selection stays visible without the toolbar. A Show on Toolbar entry toggles the toolbar itself. A Quick Switch command opens a keyboard-first picker to filter, switch, and optionally restore or append a tab layout, with a Detailed View checkbox that swaps the list for a sortable table showing each tab layout's metadata.
A Help sub-menu at the bottom opens the extension readme (this file) as a read-only document tab in Markdown Preview mode and an About window that shows the extension icon, version and release date, and offers a Rate and Review command that opens the Marketplace review page after a confirmation.
Each command has a default Ctrl+Shift+R chord shortcut. All shortcuts can be rebound through Tools > Options > Environment > Keyboard, and every command can be placed individually on any toolbar through the Visual Studio Customize dialog.
Storage
Tab layout JSON files are stored per solution. By default they live in a .tablayouts folder inside the solution directory. Alternatively they can be stored instead in a shared external directory that keeps one subfolder per solution, and individual solutions can be forced to one location or the other by name or wildcard pattern. The solution-root folder name is configurable and can be created with the Hidden attribute. The extension can also add the storage folder to the solution's .gitignore.
Managing Tab Layouts
The Management menu operates on the tab layout selected in the dropdown:
- Rename, Duplicate, and Delete.
- Merge combines the tabs of one or more other tab layouts into the selected one, tool tabs included when tool tab saving is enabled.
- Hide keeps a tab layout out of the dropdown, shown again only when Show Hidden is enabled. Star pins a tab layout to the top of the dropdown.
- Compare shows a read-only diff between the selected tab layout and the currently open tabs, to quickly see what a Save or Restore would change. With tool tabs enabled, tool tabs are listed by their caption at the top of each section.
- Edit opens a dialog to inspect and lightly modify a tab layout: reorder tabs within their pinned or unpinned group, toggle pinned status, remove tabs, strip breakpoints, arrange tab groups and floating windows, and resolve tabs whose files have moved using Drift Detection. Tool tabs saved in the tab layout appear as rows along the documents (shown by their caption) and can be reordered, pinned, moved, and removed the same way. Every ordering, pin, window, and group control also works on a multi-row selection: the pinned checkbox sets all selected rows at once, a typed order number moves the selected rows of that tab well together as one block, the arrow keys and spinner step the whole selection, and a typed window or group number moves every selected row there. The New button in the dialog creates a new empty tab layout, ready to be built up by hand.
The dropdown sorts by a configurable key and direction, with starred tab layouts always clustered at the top and hidden ones at the bottom.
The Edit and Tab Layout Backups dialogs each carry their own Include Hidden and Sort Alphabetically toggles next to their dropdown, remembered separately for each dialog. Sort Alphabetically lists the tab layouts flat A to Z, ignoring the configured order and the starred and hidden grouping.
Extra Features
- Autosave saves the current tabs to a dedicated tab layout on solution close, or on build or debug start. Autorestore reopens a chosen tab layout on solution open. A pre-select option can select a tab layout in the dropdown on solution open without restoring it.
- Git integration automatically saves and restores a tab layout per git branch when the branch changes, and can create a tab layout for each visited branch. Git tab layouts show a GIT prefix. An optional purge removes tab layouts for branches that no longer exist locally. A repository created or removed while the solution stays open is noticed, so branch watching starts and stops without reopening the solution.
- Tabs Drift Detection finds a restored tab's file when it is no longer at the saved path, either by matching the exact file name elsewhere in the solution (relocation) or a similarly named file in the original directory (rename). It offers to adopt the found file, with a picker when several match.
- Automatic Backup keeps timestamped copies of a tab layout before each user-initiated save. The Tab Layout Backups dialog in the Utilities sub-menu browses and recovers them.
- Breakpoints Capture stores breakpoints with the tab layout and can re-insert them on restore, self-correcting the saved line when the file changed.
- Breakpoints Snapshot saves and applies a set of breakpoints independently of any tab layout, without opening or closing documents.
- The Utilities sub-menu also exports and imports all extension settings to and from a JSON file and opens the storage directories.
Options
All settings live in Tools > Options > Simple Tab Saver, split across two pages. The General page (also opened by the Options entry in the Management menu) carries the top-level feature switches: the storage location, storing inside the .vs folder, showing hidden tab layouts, automatic backups, Autosave, Autorestore, Git Integration, Drift Detection, Breakpoints, Flatten Tab Layout, and the Unsaved Changes glyph.
Each switch changes the matching Advanced options directly, and a switch covering several options shows a square when they are currently mixed - clicking the square resolves them with one click. The Flatten Tab Layout switch works in reverse: checking it turns off tab groups, floating windows, split views, and duplicated tabs in saved tab layouts together, and unchecking it turns all four back on.
Selected options explained:
- Storing inside the
.vsfolder puts the solution-level storage directory (by default.tablayouts) inside the Visual Studio internal directory created when the solution is opened, so the tab layout storage is automatically kept hidden and gitignored. The risk is that it can get deleted along with the.vsfolder during unrelated cleanup. - Flattening tab layouts means that the tab layout will always be saved and restored without any tab groups, floating document windows, split views and duplicated tabs. If the tab layout had such an arrangement saved, it will be kept in the JSON file, but it will be ignored during restore.
- Unsaved changes glyph shows an exclamation mark in front of the tab layout name on the toolbar dropdown, but only for currently active tab layout (most recently saved or restored). It is triggered when tabs are opened, closed, duplicated, and when their pinned status changes. It does not trigger on reordering, creating split views, or moving tabs between tab groups or floating windows.
The Advanced page holds every option of the extension and enables full customization of almost everything. The extension comes with sensible defaults and works without configuration, and each option carries its own description in the settings page.
Rating Prompt
After extended use the extension shows a one-time info bar asking to rate it on the Visual Studio Marketplace. Rating first shows a confirmation with the full review address before a default web browser opens it. Closing the prompt, declining it, or exiting Visual Studio while it is still shown is permanent, and it will never re-prompt again on this machine or this Visual Studio installation. 'Remind me later' hides it for 30 days, after which usage counting starts from scratch.
Privacy
Session logs are written only to the extension's own installation folder. There is no telemetry, and no data is uploaded or collected.