Add paste as command (#181959)

For #30066

This command shows a quick pick that lets you select how to paste content
This commit is contained in:
Matt Bierner
2023-05-10 06:17:42 -07:00
committed by GitHub
parent 4182ec739b
commit ca51a4b04c
14 changed files with 223 additions and 33 deletions

View File

@@ -19,6 +19,8 @@ const supportedImageMimes = new Set([
class PasteEditProvider implements vscode.DocumentPasteEditProvider {
private readonly _id = 'insertLink';
async provideDocumentPasteEdits(
document: vscode.TextDocument,
_ranges: readonly vscode.Range[],
@@ -36,7 +38,7 @@ class PasteEditProvider implements vscode.DocumentPasteEditProvider {
}
const snippet = await tryGetUriListSnippet(document, dataTransfer, token);
return snippet ? new vscode.DocumentPasteEdit(snippet.snippet, snippet.label) : undefined;
return snippet ? new vscode.DocumentPasteEdit(snippet.snippet, this._id, snippet.label) : undefined;
}
private async _makeCreateImagePasteEdit(document: vscode.TextDocument, dataTransfer: vscode.DataTransfer, token: vscode.CancellationToken): Promise<vscode.DocumentPasteEdit | undefined> {
@@ -87,7 +89,7 @@ class PasteEditProvider implements vscode.DocumentPasteEditProvider {
return;
}
const pasteEdit = new vscode.DocumentPasteEdit(snippet.snippet, snippet.label);
const pasteEdit = new vscode.DocumentPasteEdit(snippet.snippet, '', snippet.label);
pasteEdit.additionalEdit = workspaceEdit;
return pasteEdit;
}