1. 17 4月, 2020 2 次提交
  2. 16 4月, 2020 1 次提交
  3. 14 4月, 2020 1 次提交
  4. 09 4月, 2020 1 次提交
    • M
      New custom editor API proposal · d4ce7148
      Matt Bierner 提交于
      For #77131
      
      Fixes #93963
      Fixes #94515
      Fixes #94517
      Fixes #94527
      Fixes #94509
      Fixes #94514
      Fixes #93996
      Fixes #93913
      
      This removes explicit edits from the API and reshapes the API to more closely match VS Code's internal API. The change also tries to better express the lifecycle of backups
      d4ce7148
  5. 03 4月, 2020 1 次提交
  6. 02 4月, 2020 1 次提交
  7. 28 3月, 2020 2 次提交
  8. 26 3月, 2020 1 次提交
  9. 24 3月, 2020 3 次提交
    • M
      ebb2030e
    • M
      Hook custom editors up to backup restorer (#92629) · f05a08a6
      Matt Bierner 提交于
      #77131
      
      Adds custom editor restoring to the backup restorer. This PR includes:
      
      - Adds a `vscode-custom-editor` scheme that we use internally for custom editors. This ensures that each custom editor has it's own editing history (even if another custom editor opens the same resource).
      
      - Make the backup restorer understand how to restore  `vscode-custom-editor` editors. This is done by adding a `IEditorInputFactoryRegistry` that lets the custom editor hook into the backup restorer
      f05a08a6
    • M
      Update custom editor api · 579dab31
      Matt Bierner 提交于
      For #77131
      
      - Use a class for `CustomDocument` instead of an interface. Extensions can now add their own data to a `CustomDocument` by sublassing
      
      - Renamed `resolveCustomDocument` to `openCustomDocument` and require that extensions return a `CustomDocument`
      
      - Exposed edits on `CustomDocument`
      
      - Made the third parameter of `registerCustomEditorProvider` a generic options bag that takes a `webviewOptions`
      579dab31
  10. 17 3月, 2020 1 次提交
  11. 14 3月, 2020 2 次提交
  12. 13 3月, 2020 5 次提交
    • M
      Use unique resource for custom editor working copy · 89d3b684
      Matt Bierner 提交于
      For #92037
      
      Ensures that we can open multiple types of custom editors are opened for the same resource, and that our dirty tracking works as expected in that case (by only marking editors of a given type dirty)
      89d3b684
    • M
      Extract undo/redo · 8383eec1
      Matt Bierner 提交于
      8383eec1
    • M
      Make sure we localize the default label · a79af6ef
      Matt Bierner 提交于
      a79af6ef
    • M
      Switch webview api back to use delegate model · 9dae408d
      Matt Bierner 提交于
      For #77131
      
      Going back the the delegate based model for a few reasons:
      
      - It gives us a better approach to add additional API hooks in the future (such as for rename)
      
      - In practive, the capabilities were almost always the same as the `userData` on the document. It is rather confusing to have both `userData` and the capabilities 'on' the document
      9dae408d
    • M
      Use the UndoRedoService for CustomEditors (#92408) · 3ef02fe7
      Matt Bierner 提交于
      * Use the UndoRedoService for CustomEditors
      
      For #90110
      
      Changes custom editors (the ones not based on text) to use the UndoRedoService. This involved:
      
      - Moving edit lifecycle back into the main process again (this is actually the bulk of the changes)
      - Removing the `undo`/`redo` methods on  `CustomEditorModel`
      - Using the undoRedoService to trigger undo/redo
      3ef02fe7
  13. 05 3月, 2020 3 次提交
  14. 04 3月, 2020 3 次提交
  15. 03 3月, 2020 4 次提交
    • B
      Workbench editor renames (#91943) · 418d1974
      Benjamin Pasero 提交于
      * IEditor => IEditorPane
      
      * More panes:
      * IVisibleEditor => IVisibleEditorPane
      * ITextEditor => ITextEditorPane
      * ITextDiffEditor => ITextDiffEditorPane
      
      * imports - remove type alias
      
      * More pane renames
      * IEditorService#activeControl => activeEditorPane
      * IEditorService#visibleControls => visibleEditorPanes
      
      * More editor renames
      * activeTextEditorWidget => activeTextEditorControl
      * visibleTextEditorWidgets => visibleTextEditorControls
      418d1974
    • M
      Rework management of custom editor custom models · 44c76bd3
      Matt Bierner 提交于
      Fixes #91670
      
      - Move model type logic out of `CustomEditorInput` and into two different implementations of `ICustomEditorModel`
      - Add `CustomTextEditorModel` that owns a proper model reference to a text document. This should ensure the text document is disposed of if there are no more references to it
      - Move most of the previous `CustomEditorModel` into `mainThreadWebviews` directly. This removes some of the indirection that was previously required (such as using `waitUntil`)
      44c76bd3
    • M
      Remove unreachable code path · 96d7905c
      Matt Bierner 提交于
      96d7905c
    • M
      Use es6 version of methods · 0fa3af8b
      Matt Bierner 提交于
      0fa3af8b
  16. 27 2月, 2020 1 次提交
  17. 22 2月, 2020 1 次提交
    • M
      New iteration of webview editor API proposal · 99d5733e
      Matt Bierner 提交于
      For #77131
      
      **Motivation**
      While our existing webview editor API proposal more or less works, building an editable webview editor is fairly tricky using it! This is especially true for simple text based editors.
      
      It'd also be nice if we could get bi-directional live editing for text files. For example, if I open the same file in a webview editor and in VS Code's normal editor, edits on either side should be reflected in the other. While this can sort of be implemented using the existing API, it has some big limitations
      
      **Overview of changes**
      To address these problems, we've decided have two types of webview editors:
      
      - Text based webview editors. These editors used a `TextDocument` as their data model, which considerably simplifies implementing an editable webview. In almost all cases, this should be what you use for text files
      
      - Complex webview editors. This is basically the existing proposed API. This gives extension hooks into all the VS Code events, such as `save`, `undo`, and so on. These should be used for binary files or in very complex text editor cases.
      
      Both editor types now have an explicit model layer based on documents. Text editor use `TextDocument` for this, while custom editors use `WebviewEditorCustomDocument`. This replaces the delegate based approach previously used.
      99d5733e
  18. 18 2月, 2020 1 次提交
  19. 24 1月, 2020 1 次提交
    • M
      Adds a backup method (#88948) · f3dbcea3
      Matt Bierner 提交于
      Adds a backup method to the custom editor API proposal. This method allows custom editors to hook in to VS Code's hot exit behavior
      
      If `backup` is not implemented, VS Code will assume that the custom editor cannot be hot exited.
      
      When `backup` is implemented, VS Code will invoke the method after every edit (this is debounced). At this point, this extension should back up the current resource.  The result is a promise indicating if the backup was successful or not
      
      VS Code will only hot exit if all backups were successful.
      f3dbcea3
  20. 20 1月, 2020 2 次提交
  21. 16 1月, 2020 1 次提交
  22. 11 1月, 2020 1 次提交
  23. 18 12月, 2019 1 次提交