Skip to content

Commit bad3dcc

Browse files
authored
Fix insert image/link for untitled files (microsoft#163897)
1 parent 0370aa5 commit bad3dcc

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

extensions/markdown-language-features/src/commands/insertResource.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import * as nls from 'vscode-nls';
88
import { Command } from '../commandManager';
99
import { createUriListSnippet, getParentDocumentUri, imageFileExtensions } from '../languageFeatures/dropIntoEditor';
1010
import { coalesce } from '../util/arrays';
11+
import { Schemes } from '../util/schemes';
1112

1213
const localize = nls.loadMessageBundle();
1314

@@ -27,7 +28,7 @@ export class InsertLinkFromWorkspace implements Command {
2728
canSelectMany: true,
2829
openLabel: localize('insertLink.openLabel', "Insert link"),
2930
title: localize('insertLink.title', "Insert link"),
30-
defaultUri: getParentDocumentUri(activeEditor.document),
31+
defaultUri: getDefaultUri(activeEditor.document),
3132
});
3233

3334
return insertLink(activeEditor, resources ?? [], false);
@@ -52,13 +53,21 @@ export class InsertImageFromWorkspace implements Command {
5253
},
5354
openLabel: localize('insertImage.openLabel', "Insert image"),
5455
title: localize('insertImage.title', "Insert image"),
55-
defaultUri: getParentDocumentUri(activeEditor.document),
56+
defaultUri: getDefaultUri(activeEditor.document),
5657
});
5758

5859
return insertLink(activeEditor, resources ?? [], true);
5960
}
6061
}
6162

63+
function getDefaultUri(document: vscode.TextDocument) {
64+
const docUri = getParentDocumentUri(document);
65+
if (docUri.scheme === Schemes.untitled) {
66+
return vscode.workspace.workspaceFolders?.[0]?.uri;
67+
}
68+
return docUri;
69+
}
70+
6271
async function insertLink(activeEditor: vscode.TextEditor, selectedFiles: vscode.Uri[], insertAsImage: boolean): Promise<void> {
6372
if (!selectedFiles.length) {
6473
return;

0 commit comments

Comments
 (0)