Fixes#113511
This tracks the id of the currently active custom editor
This change also removes the 'customEditors' context. This was an old context specific to custom editors and has since been replaced by the more generic `activeEditorAvailableEditorIds` context
Fixes#71653
Adds two new commands, `imagePreview.zoomIn` and `imagePreview.zoomOut`. These zoom the active image preview in or out. They have no default keybinding but users can configure one for them
Fixes#81434
- Make image preview a ui exension
- Add logic so that `asWebviewUri` supports preserving the scheme of the requested resource. This is important as we know where to load the resource from
Fixes#80740
The original view in diff views uses a data uri instead of a resource on disk. Make sure our webview editors can register themselves to handle this case too
* Custom Editor exploration
For #77131
Adds a prototype of custom editors contributed by extensions. This change does the following:
- Introduces a new contribution point for the declarative parts of a custom editor
- Adds API for registering a webview editor provider. This lets VS Code decided when to create a webview editor
- Adds an `openWith` command that lets you select which editor to use to open a resource from the file explorer
- Adds a setting that lets you say that you always want to use a custom editor for a given file extension
- Hooks up auto opening of a custom editor when opening a file from quick open or explorer
- Adds a new extension that contributes a custom image preview for png and jpg files
Still needs a lot of UX work and testing. We are also going to explore a more generic "open handler" based approach for supporting custom editors
Revert
* Re-use existing custom editor if one is already open
* Don't re-create custom editor webview when clicking on already visible custom editor
* Move customEditorInput to own file
* First draft of serializing custom editor inputs
* Use glob patterns instead of simple file extensions for matching custom resoruces for custom editors
* Add descriptions
* Try opening standard editor while prompting for custom editor
* Make sure we hide image status on dispose
* Make sure we restore editor group too
* Use glob patterns for workbench.editor.custom
* Allow users to configure custom editors for additional file types
* Use filename glob instead of glob on full resource path
* Adding placeholder for prompt open with
* Add enableByDefault setting for editor contributions
* Enable custom editors by default and add `discretion` enum
Changes `enableByDefault` boolean to a `discretion` enum. This should give more flexibility if we want other options (such as forcing a given custom editor to always be used even if there are other default ones)
* Allow custom editors to specify both a scheme and filenamePattern they are active for
* Rework custom editor setting
* Don't allow custom editors to be enabled for all resources by a config mistake
* Replace built-in image editor with one from extension
* Adding reopen with command
* Improve comment
* Remove commented code
* Localize package.json and remove image
* Remove extra lib setting from tsconfig