Finalize paste api and drop api tweaks

Fixes #30066

This finalizes the documentPaste api. This api allows extensions to attach metadata on text copy and change how content is pasted. Some examples:

- Updating imports for pasted code
- Inserting an image as an attachment in notebooks
- Pasting files converts them to relative text paths
This commit is contained in:
Matt Bierner
2025-01-07 14:57:16 -08:00
parent fc4e78cbfe
commit 4daea74ba9
12 changed files with 307 additions and 336 deletions

View File

@@ -13,7 +13,6 @@
"mappedEditsProvider",
"codeActionAI",
"codeActionRanges",
"documentPaste",
"editorHoverVerbosityLevel"
],
"capabilities": {

View File

@@ -43,7 +43,7 @@ const enabledSettingId = 'updateImportsOnPaste.enabled';
class DocumentPasteProvider implements vscode.DocumentPasteEditProvider {
static readonly kind = vscode.DocumentDropOrPasteEditKind.Text.append('updateImports', 'jsts');
static readonly kind = vscode.DocumentDropOrPasteEditKind.TextUpdateImports.append('jsts');
static readonly metadataMimeType = 'application/vnd.code.jsts.metadata';
constructor(