Skip to content

Commit 1ccc8d4

Browse files
authored
Enable pasting of image attachments by default for ipynb (microsoft#166058)
Fixes microsoft/vscode-jupyter#11987
1 parent 8294940 commit 1ccc8d4

File tree

5 files changed

+13
-12
lines changed

5 files changed

+13
-12
lines changed

extensions/ipynb/package.json

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,11 @@
3232
"configuration": [
3333
{
3434
"properties": {
35-
"ipynb.experimental.pasteImages.enabled": {
35+
"ipynb.pasteImagesAsAttachments.enabled": {
3636
"type": "boolean",
3737
"scope": "resource",
38-
"markdownDescription": "%ipynb.experimental.pasteImages.enabled%",
39-
"default": false,
40-
"tags": [
41-
"experimental"
42-
]
38+
"markdownDescription": "%ipynb.pasteImagesAsAttachments.enabled%",
39+
"default": true
4340
}
4441
}
4542
}

extensions/ipynb/package.nls.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"displayName": ".ipynb Support",
33
"description": "Provides basic support for opening and reading Jupyter's .ipynb notebook files",
4-
"ipynb.experimental.pasteImages.enabled":"Enable/Disable pasting images into markdown cells within ipynb files. Requires enabling `#editor.experimental.pasteActions.enabled#`."
4+
"ipynb.pasteImagesAsAttachments.enabled": "Enable/disable pasting of images into Markdown cells in ipynb notebook files. Pasted images are inserted as attachments to the cell."
55
}

extensions/ipynb/src/ipynbMain.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export function activate(context: vscode.ExtensionContext) {
8585

8686
context.subscriptions.push(notebookImagePasteSetup());
8787

88-
const enabled = vscode.workspace.getConfiguration('ipynb').get('experimental.pasteImages.enabled', false);
88+
const enabled = vscode.workspace.getConfiguration('ipynb').get('pasteImagesAsAttachments.enabled', false);
8989
if (enabled) {
9090
const cleaner = new AttachmentCleaner();
9191
context.subscriptions.push(cleaner);

extensions/ipynb/src/notebookImagePaste.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class CopyPasteEditProvider implements vscode.DocumentPasteEditProvider {
1515
_token: vscode.CancellationToken
1616
): Promise<vscode.DocumentPasteEdit | undefined> {
1717

18-
const enabled = vscode.workspace.getConfiguration('ipynb', document).get('experimental.pasteImages.enabled', false);
18+
const enabled = vscode.workspace.getConfiguration('ipynb', document).get('pasteImagesAsAttachments.enabled', false);
1919
if (!enabled) {
2020
return undefined;
2121
}

src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { CancellationToken } from 'vs/base/common/cancellation';
1010
import { createStringDataTransferItem, UriList, VSDataTransfer } from 'vs/base/common/dataTransfer';
1111
import { Disposable } from 'vs/base/common/lifecycle';
1212
import { Mimes } from 'vs/base/common/mime';
13+
import { Schemas } from 'vs/base/common/network';
1314
import { generateUuid } from 'vs/base/common/uuid';
1415
import { toVSDataTransfer } from 'vs/editor/browser/dnd';
1516
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
@@ -69,9 +70,12 @@ export class CopyPasteController extends Disposable implements IEditorContributi
6970
}
7071

7172
private arePasteActionsEnabled(model: ITextModel): boolean {
72-
return this._configurationService.getValue('editor.experimental.pasteActions.enabled', {
73-
resource: model.uri
74-
});
73+
if (this._configurationService.getValue('editor.experimental.pasteActions.enabled', { resource: model.uri })) {
74+
return true;
75+
}
76+
77+
// TODO: This check is only here to support enabling `ipynb.pasteImagesAsAttachments.enabled` by default
78+
return model.uri.scheme === Schemas.vscodeNotebookCell;
7579
}
7680

7781
private handleCopy(e: ClipboardEvent) {

0 commit comments

Comments
 (0)