Add preview tabs (#9125)
This PR implements the preview tabs feature from VSCode. More details and thanks for the head start of the implementation here #6782. Here is what I have observed from using the vscode implementation ([x] -> already implemented): - [x] Single click on project file opens tab as preview - [x] Double click on item in project panel opens tab as permanent - [x] Double click on the tab makes it permanent - [x] Navigating away from the tab makes the tab permanent and the new tab is shown as preview (e.g. GoToReference) - [x] Existing preview tab is reused when opening a new tab - [x] Dragging tab to the same/another panel makes the tab permanent - [x] Opening a tab from the file finder makes the tab permanent - [x] Editing a preview tab will make the tab permanent - [x] Using the space key in the project panel opens the tab as preview - [x] Handle navigation history correctly (restore a preview tab as preview as well) - [x] Restore preview tabs after restarting - [x] Support opening files from file finder in preview mode (vscode: "Enable Preview From Quick Open") I need to do some more testing of the vscode implementation, there might be other behaviors/workflows which im not aware of that open an item as preview/make them permanent. Showcase: https://github.com/zed-industries/zed/assets/53836821/9be16515-c740-4905-bea1-88871112ef86 TODOs - [x] Provide `enable_preview_tabs` setting - [x] Write some tests - [x] How should we handle this in collaboration mode (have not tested the behavior so far) - [x] Keyboard driven usage (probably need workspace commands) - [x] Register `TogglePreviewTab` only when setting enabled? - [x] Render preview tabs in tab switcher as italic - [x] Render preview tabs in image viewer as italic - [x] Should this be enabled by default (it is the default behavior in VSCode)? - [x] Docs Future improvements (out of scope for now): - Support preview mode for find all references and possibly other multibuffers (VSCode: "Enable Preview From Code Navigation") Release Notes: - Added preview tabs ([#4922](https://github.com/zed-industries/zed/issues/4922)). --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
This commit is contained in:
parent
edb1ea2433
commit
ea4419076e
29 changed files with 783 additions and 152 deletions
|
@ -613,6 +613,40 @@ The following settings can be overridden for each specific language:
|
|||
|
||||
These values take in the same options as the root-level settings with the same name.
|
||||
|
||||
## Preview tabs
|
||||
|
||||
- Description:
|
||||
Preview tabs allow you to open files in preview mode, where they close automatically when you switch to another file unless you explicitly pin them. This is useful for quickly viewing files without cluttering your workspace. Preview tabs display their file names in italics. \
|
||||
There are several ways to convert a preview tab into a regular tab:
|
||||
|
||||
- Double-clicking on the file
|
||||
- Double-clicking on the tab header
|
||||
- Using the 'project_panel::OpenPermanent' action
|
||||
- Editing the file
|
||||
- Dragging the file to a different pane
|
||||
|
||||
- Setting: `preview_tabs`
|
||||
- Default:
|
||||
|
||||
```json
|
||||
"preview_tabs": {
|
||||
"enabled": true,
|
||||
"enable_preview_from_file_finder": false
|
||||
}
|
||||
```
|
||||
|
||||
**Options**
|
||||
|
||||
### Enable preview from file finder
|
||||
|
||||
- Description: Determines whether to open files in preview mode when selected from the file finder.
|
||||
- Setting: `enable_preview_from_file_finder`
|
||||
- Default: `false`
|
||||
|
||||
**Options**
|
||||
|
||||
`boolean` values
|
||||
|
||||
## Preferred Line Length
|
||||
|
||||
- Description: The column at which to soft-wrap lines, for buffers where soft-wrap is enabled.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue