Commit Graph

544 Commits

Author SHA1 Message Date
Matt Bierner
041a5907b1 Add experimental moveCustomTextEditor hook
For #77131

Adds a hook that lets extensions preserve the webview for a custom editor across a rename
2020-03-13 17:49:52 -07:00
Daniel Imms
361f38ecf8 Merge branch 'master' into tyriar/link_handlers 2020-03-13 06:49:01 -07:00
Christof Marti
14b5afc0ec Add --use-host-proxy (microsoft/vscode-remote-release#2487) 2020-03-13 12:42:58 +01:00
Daniel Imms
b66d56602f Implement terminal link handler API
Part of #91606
2020-03-12 18:17:18 -07:00
Matt Bierner
9dae408dc3 Switch webview api back to use delegate model
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
2020-03-12 16:54:48 -07:00
Matt Bierner
3ef02fe7b0 Use the UndoRedoService for CustomEditors (#92408)
* 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
2020-03-12 11:34:40 -07:00
Matt Crouch
1a5565ace0 Merge branch 'master' into scm-resource-context 2020-03-10 22:46:28 +00:00
Pine Wu
c833780356 Clean up API and add stopPattern 2020-03-10 12:38:03 -07:00
Alexandru Dima
84c838d1e3 Scaffold on type rename 2020-03-10 12:33:16 -07:00
Johannes Rieken
c1ec410c8b create cell uri on the extension host, expose as NotebookCell#uri 2020-03-10 18:06:45 +01:00
Johannes Rieken
52ea4ff1d7 Merge branch 'master' into rebornix/notebook 2020-03-10 10:43:26 +01:00
Matt Bierner
44d4fe895d Allow using Command in StatusBarItem (#92046)
Fixes #22353

StatusBarItem is one of the few places in our API where we only allow extensions to give us a command as a `string` instead of as `Command` object. This change updates the API to also allow passing in a `vscode.Command` (which also allows arguments!)
2020-03-09 12:57:33 -07:00
rebornix
285d89e30c Merge remote-tracking branch 'origin/master' into rebornix/notebook 2020-03-04 16:34:06 -08:00
Matt Bierner
077cd38d26 Add cancellation on CustomEditor.save
For #91702
2020-03-04 15:49:10 -08:00
Alex Ross
426d5bfb94 Fix problems with changing local port and restoring
Fixes #92008
2020-03-04 16:45:23 +01:00
rebornix
882ae1ec8f no unverified commit 2020-03-03 16:33:00 -08:00
Johannes Rieken
cddc990d7a Merge branch 'master' into rebornix/notebook 2020-03-03 12:10:05 +01:00
Alex Dima
c2a604a18c Add DocumentSemanticTokensProvider.onDidChangeSemanticTokens 2020-03-02 13:45:25 +01:00
Eric Amodio
afacd2bdfe Fixes #89509, #91464, #91628, #91619 2020-03-01 11:29:54 -05:00
rebornix
eed9a7b032 Merge remote-tracking branch 'origin' into rebornix/notebook 2020-02-27 16:19:32 -08:00
Matt Bierner
8ef18acdaf Don't require return value backup
Fixes #91703

All custom editors should implement backup or throw an exception if they cannot for some reason.
2020-02-27 11:55:39 -08:00
rebornix
f3780d98fb Merge remote-tracking branch 'origin' into rebornix/notebook 2020-02-26 14:56:49 -08:00
Matt Crouch
e1ca4c3fa9 Merge branch 'master' into scm-resource-context 2020-02-26 11:35:56 +00:00
Eric Amodio
d46c8a8c3c Lots of timeline related changes, below
UI:
Adds Refresh icon to view title
Adds "Load more" entry at the end of the list for paging

API:
Restructures api around cursors
Renames TimelineCursor to generic TimelineOptions for more flexibility
Adds paging object to Timeline for clearer paging usage
Changes cursors to be strings, and explicit before and after cursors
Allows limit to take a cursor, so we can reload current data set
Clarifies id and fallback to timestamp
Adds reset flag to TimelineChangeEvent for providers to reset caching

Git provider:
Orders and returns commit date as the timestamp
Supports limit of a cursor (using rev-list --count)
Stops returning working/index changes when paging
Forcably resets cached data when changes are detected (naive for now)
2020-02-24 15:48:37 -05:00
Matt Bierner
99d5733e5f New iteration of webview editor API proposal
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.
2020-02-21 16:26:01 -08:00
rebornix
d00f117c62 Mimetype picker first cut. 2020-02-21 11:47:55 -08:00
Johannes Rieken
8b95561098 show names of formatting edits and code actions providers when they block save. also add links that links that open the settings editor for each feature, #90851 2020-02-21 15:35:30 +01:00
Johannes Rieken
214e4df1e8 remove commented type 2020-02-21 11:37:58 +01:00
Johannes Rieken
ee7bb4f692 Merge branch 'master' into rebornix/notebook 2020-02-21 11:31:45 +01:00
Johannes Rieken
798a4026ef debt - have Dto and UriDto 2020-02-21 10:09:20 +01:00
Johannes Rieken
88ce9daa5d extract Serialized<T> util 2020-02-21 09:43:28 +01:00
rebornix
673d98310a Merge remote-tracking branch 'origin' into rebornix/notebook 2020-02-19 11:42:28 -08:00
Matt Crouch
daad547f81 Merge branch 'master' into scm-resource-context 2020-02-19 19:26:17 +00:00
Gustavo Cassel
4957d8d6df Exposed Open/Save dialog title on public VSCode Proposed API (#90493)
Co-authored-by: Alex Ross <alros@microsoft.com>
2020-02-19 15:38:44 +01:00
Johannes Rieken
1541d57e3c Merge branch 'master' into rebornix/notebook 2020-02-19 10:21:07 +01:00
mjcrouch
11f523c6d7 Support scmResourceState in when clauses
fixes #86180

* Adds `contextValue?: string` to the SourceControlResourceState
* Allows when clause in scm/resourceState/context menus to use scmResourceState
2020-02-19 09:15:35 +00:00
Johannes Rieken
3e211597ff also support single icon, not just ThemeIcon and {light, dark}-tuples, #77728 2020-02-19 10:14:04 +01:00
rebornix
4bced156d1 notebook cell update with renderer updates. 2020-02-18 17:32:25 -08:00
rebornix
796c2baa80 Diff for cells and outputs in exthost. 2020-02-18 16:31:22 -08:00
rebornix
a88978baee Display Order first cut. 2020-02-17 16:21:45 -08:00
rebornix
ac800b7f03 Update notebook cells 2020-02-17 13:50:44 -08:00
Alex Dima
7169e432d8 Fixes #42649 2020-02-17 22:19:03 +01:00
Johannes Rieken
059527f8d4 add ICellDto, use UriComponents 2020-02-17 15:53:52 +01:00
rebornix
1adc63c06d Refactoring: IoC. 2020-02-14 19:24:23 -08:00
Eric Amodio
9ae0fd36c9 Enhances timeline - commands, timestamp, etc
Adds contributable commands to timeline items
Adds right-aligned timestamp to timeline items
Adds Open Changes to Git timeline items
Adds Copy Commit ID to Git timeline items
Adds Copy Commit Message to Git timeline items
2020-02-14 15:22:45 -05:00
Eric Amodio
69b30f6ba7 Adds paging support (wip) 2020-02-14 15:22:45 -05:00
Andre Weinand
e588a9cd1a Introduce evaluatable expression API; fixes #89084 2020-02-14 12:53:56 +01:00
rebornix
20f4cbf4b6 Update preload scripts for notebook renderer 2020-02-13 16:00:13 -08:00
rebornix
298a5d074e Move typings to common. 2020-02-13 14:32:43 -08:00
rebornix
612a935c1a Merge remote-tracking branch 'origin/master' into rebornix/notebook 2020-02-12 18:08:24 -08:00