-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preserve untitled files for next time #4985
Comments
Very much miss this feature, but one super important thing - if it is added - is absolute certainty that you won't loose content in these "unsaved buffers/documents". Once you start relying on this feature it's an extremely great way to keep notes / snippets, etc, but it needs to be something you can trust. I have 9 year old unsaved content in Sublime, which I'd love to move over, but I don't want to risk loosing them (happened a couple of times in the good old textmate days during an upgrade). |
Agree, this is without a doubt a feature I can't migrate to Zed from Sublime without. |
+1 Looking forward to having this feature on Zed. This is the one that stops me from migrating from VSCode. |
Cat sat on my power button and force quit everything. Lost an hour or so of writing. Hopefully the feature will save me next time. |
Just ran into this issue and was very upset. Zed. Please. Since Atom stopped development, I haven't migrated to another text editor but you were SUPPOSED TO BE THE ONE!! |
Chiming in on this - this would allow users to use new tabs for notes. It would be immensely helpful. |
It looks like this is in progress. Any idea of a timetable we'll see this ready? I also think a lot of us are waiting for this to really kick Zed's tires. |
This comment has been minimized.
This comment has been minimized.
Chiming in - this is the only thing stopping me from uninstalling Sublime and fully making the switch. |
I was just about to raise this issue too. All major editors like VS Code and Sublime preserve unsaved files. Zed should do the same, especially considering its frequent updates that require restarts. |
Bug fixed. The cat has a new home. |
I would love for this feature to be added. It's more than just a convenience, it's practically a whole lifestyle. |
This adds the ability for Zed to restore unsaved buffers on restart. The user is no longer prompted to save/discard/cancel when trying to close a Zed window with dirty buffers in it. Instead those dirty buffers are stored and restored on restart. It does this by saving the contents of dirty buffers to the internal SQLite database in which Zed stores other data too. On restart, if there are dirty buffers in the database, they are restored. On certain events (buffer changed, file saved, ...) Zed will serialize these buffers, throttled to a 100ms, so that we don't overload the machine by saving on every keystroke. When Zed quits, it waits until all the buffers are serialized. ### Current limitations - It does not persist undo-history (right now we don't persist/restore undo-history regardless of dirty buffers or not) - It does not restore buffers in windows without projects/worktrees. Example: if you open a new window with `cmd-shift-n` and type something in a buffer, this will _not_ be stored and you will be asked whether to save/discard on quit. In the future, we want to fix this by also restoring windows without projects/worktrees. ### Demo https://github.com/user-attachments/assets/45c63237-8848-471f-8575-ac05496bba19 ### Related tickets I'm unsure about closing them, without also fixing the 2nd limitation: restoring of worktree-less windows. So let's wait until that. - #4985 - #4683 ### Note on performance - Serializing editing buffer (asynchronously on background thread) with 500k lines takes ~200ms on M3 Max. That's an extreme case and that performance seems acceptable. Release Notes: - Added automatic restoring of unsaved buffers. Zed can now be closed even if there are unsaved changes in buffers. One current limitation is that this only works when having projects open, not single files or empty windows with unsaved buffers. The feature can be turned off by setting `{"session": {"restore_unsaved_buffers": false}}`. --------- Co-authored-by: Bennet <bennet@zed.dev> Co-authored-by: Antonio <antonio@zed.dev>
A first version of this has been merged: #13546 It'll go into Preview release this week, on Wednesday. Stable release next week, pending any bug fixes or revision. Please see the constraints in the pull request description that apply to this version. |
The cat will be allowed back inside. FullSizeRender.mov |
This adds the ability for Zed to restore multiple windows after restarting. It's now the default behavior. Release Notes: - Added ability to restore all windows that were open when Zed was quit. Previously only the last used workspace was restored. This is now the default behavior. To get back the old behavior, add the following to your settings: `{"restore_on_startup": "last_workspace"}` (Part of [#4985](#4985) and [#4683](#4683)) Demo: https://github.com/user-attachments/assets/57a375ec-0c6a-4724-97c4-3fea8f18bc2d --------- Co-authored-by: Nathan <nathan@zed.dev>
The following PRs have added quite a bit to the workspace serialization story:
There are a few known missing bits here, but I think its best that we close this issue out, in favor of new issues that describe those missing bit, so that we can get a clear understanding of how important these bits are to you all, now that most of the functionality has landed. Here are the new issues (upvote via 👍):
Killer work @mrnugget! |
Thank you @JosephTLyons! |
Note that this will work right now (in today's preview release) if you are opening an untitled buffer and there's a worktree in your project panel. Screen.Recording.2024-07-24.at.6.14.16.PM.movThe only case in which this doesn't work is if you open up a brand new instance of Zed, one that has no projects in it, and then open a new file. I think we definitely want that, but I think a lot of the headache (80 percent or more) has been addressed by @mrnugget's PRs. |
…ustries#14965) This adds the ability for Zed to restore multiple windows after restarting. It's now the default behavior. Release Notes: - Added ability to restore all windows that were open when Zed was quit. Previously only the last used workspace was restored. This is now the default behavior. To get back the old behavior, add the following to your settings: `{"restore_on_startup": "last_workspace"}` (Part of [zed-industries#4985](zed-industries#4985) and [zed-industries#4683](zed-industries#4683)) Demo: https://github.com/user-attachments/assets/57a375ec-0c6a-4724-97c4-3fea8f18bc2d --------- Co-authored-by: Nathan <nathan@zed.dev>
…ustries#14965) This adds the ability for Zed to restore multiple windows after restarting. It's now the default behavior. Release Notes: - Added ability to restore all windows that were open when Zed was quit. Previously only the last used workspace was restored. This is now the default behavior. To get back the old behavior, add the following to your settings: `{"restore_on_startup": "last_workspace"}` (Part of [zed-industries#4985](zed-industries#4985) and [zed-industries#4683](zed-industries#4683)) Demo: https://github.com/user-attachments/assets/57a375ec-0c6a-4724-97c4-3fea8f18bc2d --------- Co-authored-by: Nathan <nathan@zed.dev>
I am on Zed Zed 0.150.4 my MBP M1 froze and restarted, and I had an untitled document with very important info, Zed restarted empty. Any chance I can recover it from somewhere? |
Was that file in a project-less window? i.e. just a single window with unnamed buffers? Because those aren't persisted yet (see above). But here's what you can do to check whether it's been saved:
(That's on macOS, on Linux the path is different.) This returns the contents of all files where content has been saved. |
this returned files saved previously as part of a project. |
Check for existing issues
Describe the feature
As a Zed lover, I want Zed to not ask to save/delete untitled files when quitting the app but preserve them as is, and have them available for me to work on next time I open zed.
PS: Feature can be tried out in Sublime Text and couple of other editors.
If applicable, add mockups / screenshots to help present your vision of the feature
No response
The text was updated successfully, but these errors were encountered: