File GrouperA VS Code extension that lets you group files by task or logic flow, then resume any group with a single click — so you can switch context without losing the exact set of tabs you were working on. WhyWhen you open a repo and work on a task, you often end up with many unrelated files open. Switching to a different task means re-finding the right files later. File Grouper lets you save the current set of files as a named group and bring it back when you return to that task. Features
Getting startedRun from source
Install as a
|
| Where | How |
|---|---|
| Explorer | Right-click a file → Add to File Grouper Group… |
| Editor tab | Right-click the tab → Add to File Grouper Group… |
| Command palette | File Grouper: Add Current File to Group… (acts on the active editor) |
You can pick an existing group or create a new one inline.
Resume a group
There are three ways:
- Sidebar: hover the group row → click the ▶ (play) icon.
- Right-click the group → File Grouper: Resume Group.
- Command palette: File Grouper: Resume Group → choose the group.
Resume closes all currently open editors and reopens the group's files in saved order.
Rename or delete a group
Right-click the group in the sidebar and pick Rename or Delete, or run the equivalent command from the palette.
Reorder or remove files inside a group
Hover a file row in the sidebar — three inline icons appear:
- ↑ move up
- ↓ move down
- × remove from group
The order is preserved and used when the group is resumed.
Commands
| Command | Description |
|---|---|
File Grouper: Create Group |
Create a new empty group |
File Grouper: Snapshot Open Tabs as Group |
Save all open editor tabs as a new group |
File Grouper: Rename Group |
Rename an existing group |
File Grouper: Delete Group |
Delete a group |
File Grouper: Resume Group |
Close all editors and reopen a group's files |
File Grouper: Add Current File to Group… |
Add the active editor's file to a group |
Add to File Grouper Group… |
(Context-menu) Add an Explorer or tab file to a group |
File Grouper: Refresh |
Refresh the sidebar tree |
Storage
Groups are stored per-workspace using VS Code's workspaceState under the key fileGrouper.groups.v1. File paths are stored relative to the workspace root, so groups remain valid if the project is moved.
Limitations
- Resume opens files as text documents. Binary files (images, PDFs) may not open through this path. Open an issue if you'd like full
vscode.openhandling. - Editor layout (split panes, view columns) is not restored — only the set and order of files.
- Multi-root workspaces use the first workspace folder as the root for relative paths.
Development
npm install # install deps
npm run compile # build TypeScript to out/
npm run watch # rebuild on change
Press F5 in VS Code to launch the Extension Development Host.
Project structure
src/
extension.ts # command registration + activation
groupStore.ts # persistence via workspaceState
groupTreeProvider.ts # sidebar TreeDataProvider
License
MIT