* Add experimental support for reading files in data transfer
Adds a new `DataTransfer.asFile` method which lets you get file objects from a `DataTransfer`. This is currently only hooked up for drop into editors.
A few follow ups:
- Right now the file data is also read eagerly when it is transfered to the extension host. Before shipping this we would make this happen lazily instead
- The drop into editor api does not provide a nice way to do anything with the dropped files.
We should at least support returning a `WorkspaceEdit`. However `WorkspaceEdit` only supports text files, so we would also need to add an API that lets it deal with binary files
* Make `asFile` return a value instead of a promise
`asFile().data()` already returns a promise so `asFile` doesn't also need to be async
* Trying resolving data files transfer lazily
* Cleaning up code for lazy drop
* Remove testing code
* Remove unneeded buffer serialize
* 💄
* use glob on tasks otherwise fallback to default
* add support for test commands also
* try to find one globbed task otherwise fallback to defaults
* - get relativePath (but fallback to absolute if outside of workspace)
- bring back json schema
* Refactor and reduce duplicate code
* remove glob, make isDefault a string or boolean
* update taskConfig
* - rebase
- type updates
- splitPerGroupType should check explicitly for true on isDefault
- hygiene check
* Remove task glob from API
* Task group DTO updates
* Make sure globs run ahead of default task if there's multiple globs matching
* Style and name changes
* More naming and code re-use
* Glob doesn't work when only 1 glob match
Co-authored-by: Alex Ross <alros@microsoft.com>
Fixes#146253
Two parts to this change:
- Make postMessage return false if a message cannot be delivered to a webview
- Don't queue messages for hidden (and non-retained) webviews. This was potentially causing a huge flood of messages to be dumped into the webview once it becomes visible again