ZIm/crates/workspace/src
张小白 a5fe6d1e61
History manager (#26369)
While working on implementing `add_recent_documents` for Windows, I
found that the process is significantly more complex compared to macOS.
On macOS, simply registering the `add_recent_documents` function is
enough, as the system handles everything automatically.

On Windows, however, there are two cases to consider:  
- **Files opened by the app**: These appear in the "Recent" section (as
shown in the screenshot, "test.txt") and are managed automatically by
Windows (by setting windows registry), similar to macOS.

![屏幕截图 2025-03-10
230738](https://github.com/user-attachments/assets/8fc8063b-4369-43cc-aaaf-7370a7d27060)


- **Folders opened by the app**: This is more complicated because
Windows does not handle it automatically, requiring the application to
track opened folders manually.

To address this, this PR introduces a `History Manager` along with
`HistoryManagerEvent::Update` and `HistoryManagerEvent::Delete` events
to simplify the process of managing recently opened folders.



https://github.com/user-attachments/assets/a2581c15-7653-4faf-96b0-7c48ab1dcc8d



Release Notes:

- N/A

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2025-04-11 21:34:51 +00:00
..
persistence chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
dock.rs workspace: Do not call set_active when deserializing a dock if that dock was not visible (#27852) 2025-04-01 16:33:52 +00:00
history_manager.rs History manager (#26369) 2025-04-11 21:34:51 +00:00
item.rs debugger: Style debugger tabs (#28572) 2025-04-11 15:33:36 +02:00
modal_layer.rs Fix the feedback modal (#26793) 2025-03-14 17:55:52 -04:00
notifications.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
pane.rs debugger: Style debugger tabs (#28572) 2025-04-11 15:33:36 +02:00
pane_group.rs Debugger UI: Dynamic session contents (#28033) 2025-04-07 23:22:09 +02:00
persistence.rs History manager (#26369) 2025-04-11 21:34:51 +00:00
searchable.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
shared_screen.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
status_bar.rs Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
tasks.rs Set up Rust debugger code runner tasks (#27571) 2025-03-29 02:10:40 -04:00
theme_preview.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
toast_layer.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
toolbar.rs Allow buffer search in project search (#23819) 2025-01-31 00:13:46 -07:00
workspace.rs History manager (#26369) 2025-04-11 21:34:51 +00:00
workspace_settings.rs workspace: Implement Extended Terminal Option (#26211) 2025-04-11 16:18:36 +00:00