Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Bierner <matb@microsoft.com>2022-11-11 03:46:31 +0300
committerGitHub <noreply@github.com>2022-11-11 03:46:31 +0300
commit1ccc8d438b3a230ea47abe896a0ace8e19a93a6d (patch)
treefcb4f7f5afb4b0eee0e663e071b5afbc07dff557
parent8294940ac6b30b652c8d140d4daa9491d8cfb16b (diff)
Enable pasting of image attachments by default for ipynb (#166058)
Fixes https://github.com/microsoft/vscode-jupyter/issues/11987
-rw-r--r--extensions/ipynb/package.json9
-rw-r--r--extensions/ipynb/package.nls.json2
-rw-r--r--extensions/ipynb/src/ipynbMain.ts2
-rw-r--r--extensions/ipynb/src/notebookImagePaste.ts2
-rw-r--r--src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts10
5 files changed, 13 insertions, 12 deletions
diff --git a/extensions/ipynb/package.json b/extensions/ipynb/package.json
index 9facfaa3322..95dc152d631 100644
--- a/extensions/ipynb/package.json
+++ b/extensions/ipynb/package.json
@@ -32,14 +32,11 @@
"configuration": [
{
"properties": {
- "ipynb.experimental.pasteImages.enabled": {
+ "ipynb.pasteImagesAsAttachments.enabled": {
"type": "boolean",
"scope": "resource",
- "markdownDescription": "%ipynb.experimental.pasteImages.enabled%",
- "default": false,
- "tags": [
- "experimental"
- ]
+ "markdownDescription": "%ipynb.pasteImagesAsAttachments.enabled%",
+ "default": true
}
}
}
diff --git a/extensions/ipynb/package.nls.json b/extensions/ipynb/package.nls.json
index 6c9b5ffb2f2..1c8f73370d7 100644
--- a/extensions/ipynb/package.nls.json
+++ b/extensions/ipynb/package.nls.json
@@ -1,5 +1,5 @@
{
"displayName": ".ipynb Support",
"description": "Provides basic support for opening and reading Jupyter's .ipynb notebook files",
- "ipynb.experimental.pasteImages.enabled":"Enable/Disable pasting images into markdown cells within ipynb files. Requires enabling `#editor.experimental.pasteActions.enabled#`."
+ "ipynb.pasteImagesAsAttachments.enabled": "Enable/disable pasting of images into Markdown cells in ipynb notebook files. Pasted images are inserted as attachments to the cell."
}
diff --git a/extensions/ipynb/src/ipynbMain.ts b/extensions/ipynb/src/ipynbMain.ts
index 79c5037b2b9..ca8e2b3ce4a 100644
--- a/extensions/ipynb/src/ipynbMain.ts
+++ b/extensions/ipynb/src/ipynbMain.ts
@@ -85,7 +85,7 @@ export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(notebookImagePasteSetup());
- const enabled = vscode.workspace.getConfiguration('ipynb').get('experimental.pasteImages.enabled', false);
+ const enabled = vscode.workspace.getConfiguration('ipynb').get('pasteImagesAsAttachments.enabled', false);
if (enabled) {
const cleaner = new AttachmentCleaner();
context.subscriptions.push(cleaner);
diff --git a/extensions/ipynb/src/notebookImagePaste.ts b/extensions/ipynb/src/notebookImagePaste.ts
index 81325a09257..24608480218 100644
--- a/extensions/ipynb/src/notebookImagePaste.ts
+++ b/extensions/ipynb/src/notebookImagePaste.ts
@@ -15,7 +15,7 @@ class CopyPasteEditProvider implements vscode.DocumentPasteEditProvider {
_token: vscode.CancellationToken
): Promise<vscode.DocumentPasteEdit | undefined> {
- const enabled = vscode.workspace.getConfiguration('ipynb', document).get('experimental.pasteImages.enabled', false);
+ const enabled = vscode.workspace.getConfiguration('ipynb', document).get('pasteImagesAsAttachments.enabled', false);
if (!enabled) {
return undefined;
}
diff --git a/src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts b/src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts
index 22b431f4b57..f6fe1d00ed5 100644
--- a/src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts
+++ b/src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts
@@ -10,6 +10,7 @@ import { CancellationToken } from 'vs/base/common/cancellation';
import { createStringDataTransferItem, UriList, VSDataTransfer } from 'vs/base/common/dataTransfer';
import { Disposable } from 'vs/base/common/lifecycle';
import { Mimes } from 'vs/base/common/mime';
+import { Schemas } from 'vs/base/common/network';
import { generateUuid } from 'vs/base/common/uuid';
import { toVSDataTransfer } from 'vs/editor/browser/dnd';
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
@@ -69,9 +70,12 @@ export class CopyPasteController extends Disposable implements IEditorContributi
}
private arePasteActionsEnabled(model: ITextModel): boolean {
- return this._configurationService.getValue('editor.experimental.pasteActions.enabled', {
- resource: model.uri
- });
+ if (this._configurationService.getValue('editor.experimental.pasteActions.enabled', { resource: model.uri })) {
+ return true;
+ }
+
+ // TODO: This check is only here to support enabling `ipynb.pasteImagesAsAttachments.enabled` by default
+ return model.uri.scheme === Schemas.vscodeNotebookCell;
}
private handleCopy(e: ClipboardEvent) {