VSCode - Remember Open Files
Thank you for using this extension to help you stay organized!
If you want to thank me, scroll to the bottom of the page.
vscrof gives you the power to Save and Restore sets of files (editors) saved in JSON formatted files you own.
This extension helps you get around 2 main problems while adding some great benefits described below these points:
- Not being able to store, close and restore open editors at will.
- Not being able to easily access the entire set of open editors using the VSCode API.
See limitation expressed here: https://github.com/microsoft/vscode/issues/15178
Latest Update - v1.4.6
This last update has been around ease of use as well as completing some extras planned for a while now!
- Command names have been reviewed and reorganized.
- New context menu options from the editor and storage file titles.
- New context menu options from the content of Storage files.
- New ability to rename any of your indexed file accross all your Storage Files.
- You can right-click a file entry inside the Storage File directly to access this feature.
- New ability to add the selected editor to an existing Storage File.
- New ability to remove the selected editor from an existing Storage File.
- Simplified JSON "files" entries to only contain the file name. Backward compatible with old formats.
- Auto-detect OS platform. You no longer need to configure this.
- Performance optimizations.
- Added some ways you can say thank you.
We're changing the logo from this old one to the new one in alignment with new adventures underway:
Old Logo:

New Logo:

Why you need this extension
The mental overhead of switching between different sets of files during work can be great. This can send you on a time consuming file-hunt, especially when you do complex projects involving many different files in different locations within the same code repository. This extension helps you with this in a simple way.
As you get different work requests you can now "remember" the open files (editors) you were working on! This is done by using Storage Files and made available to you in JSON format.
You can finally free attention from files you were looking at when changing gears to work on something disrelated! Yes, save your mental clipboard into a text file and own it! :o)
You can close all the editors you had open, open up another set of editors, work on them and after you are done, close them and reopen the previous set of editors. This is done using a few simple steps described later.
Main Benefits
- Organize your work your way! By context, feature, project scope or however you work.
- Save the Storage Files to your repository and allow other developers to use them too! They can see which files relate to parts of your code base and where to find them.
- Enjoy a clean workspace no matter how random requests may become.
- Breathe easily knowing you can work on any device anywhere and continue where you left off. Yes, VSCode only cache per device right now and this may never change. With this extension you can become a device nomad while being more organized about your work.
- You can also use the data generated by this extension to help you with documentation covering produced files or scope of change.
Basic Features
- Automatically creates a ".vscrof" directory in your project root.
- Saves data in a JSON formatted "Storage File" containing file paths.
- Uses context menu items to access features.
- Uses a macro-like "click to select" style when specifying the editors (open file tabs) to be stored.
- Restore (open) editors from any "Storage File" located in the ".vscrof" directory of your project root path.
- Allow you to switch between different Machines or Operating Systems (Windows / Linux) and restore sets of editors you had open before.
- Allow you to easily communicate which files go with a particular action, project, maintenance job etc.
Command Palette
Open the command palette. You may need to type <) vscrof:
to see available options listed below:
The following commands are available in the Command Palette (press Ctrl+Shift+P
or Cmd+Shift+P
and type <) vscrof:
):
<) vscrof: Cherrypick - Select Editors to Store (1 clicky)
- Start selecting editors (open files) to be saved in a storage file. Each click adds the focused editor.
- The editor you have in focus will be used as the first entry into the storage file.
- The status bar icon will indicate the number of editors you clicked for storage.

<) vscrof: Cherrypick - Store Editor Selection (2 typey)
- This saves the storage file to the
.vscrof
directory on your workspace root.
- The file name can be specified during the process with a default value configurable in the extension settings.
- An existing storage file can be selected that will be replaced.
<) vscrof: Editor - Add All Open Editors to Storage
- Add all currently open editors to a storage file.
<) vscrof: Editor - Add Editor to Storage
- Add the currently active editor to a storage file.
<) vscrof: Editor - Remove Editor from Storage
- Remove the currently active editor from a storage file.
<) vscrof: Maintenance - Delete Storage File
- Deletes a selected storage file from the
.vscrof
directory.
<) vscrof: Maintenance - Rename Files Entry (Storage Wide)
- Rename a file entry across all storage files in the
.vscrof
directory.
<) vscrof: Maintenance - Show Storage Path
- Shows the user the Storage File root and default name so you can see where files will be saved.
<) vscrof: Restore Editors (From Storage File)
- Lists all .JSON storage files located in the
.vscrof
directory.
- Opens all files specified in the selected Storage File.
<) vscrof: Restore Editors (Close All)
- Lists all .JSON storage files located in the
.vscrof
directory.
- Opens all files specified in the selected Storage File and closes all other open editors.
<) vscrof: Restore Editors (Keep Others)
- Lists all .JSON storage files located in the
.vscrof
directory.
- Opens all files specified in the selected Storage File, keeping other open editors untouched.
You can also access many of these commands via the context menu by right-clicking on editor tabs or storage files.
Narrated Example
- You're busy working on a new component named "Lake Pleasant" which is part of the "New Forest" project.
- You get a request to work on a component named "Water Bucket", so you save your open files (editors) for "Lake Pleasant" using the
vscrof
extension.
- You have an existing vscrof
Storage File
for the "Water Bucket" component and re-open the files you had open when you worked on it last.
- After completing the work, you close the files, commit your work and return to working on "Lake Pleasant" by restoring its files using
vscrof
.
Requirements
None.
Extension Settings
This extension contributes the following settings:
vscrof.verbose
:
set to true
to output information using console.log().
vscrof.veryVerbose
:
set to true
to output more information such as object structures using console.log().
vscrof.filesFormat
:
Used for file entry format with integer based index keys in Object or Array styles.
vscrof.storageFileTitle
:
Sets the title used for the Storage File.
vscrof.storageFileName
:
Sets the name of the storage file containing all your file paths.
vscrof.directorySeparator
:
Used for Linux / Windows file path parsing.
Known Issues
- Only works with text-based files, not image files that render a preview.
- Remote files not tested.
Questions & Answers
Questions & Answers
Value Exchange
When something is useful and brings value to your life, give something in return.
It is the best way to stay on top of your game and keep others on top of theirs - both win!
Here are some ways to give something in return for this extension:
Sincerely,
Stephen Nortje