From 7c6c7ac5fe2bdad395d1a03b284cf560dfe4e820 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Thu, 2 Aug 2018 10:35:54 +0200 Subject: [PATCH] Allow extends to work without json suffix Fixes #16905 --- .../src/features/tsconfig.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/extensions/typescript-language-features/src/features/tsconfig.ts b/extensions/typescript-language-features/src/features/tsconfig.ts index 048ac79ab2c..a7e89ea1332 100644 --- a/extensions/typescript-language-features/src/features/tsconfig.ts +++ b/extensions/typescript-language-features/src/features/tsconfig.ts @@ -33,7 +33,16 @@ class TsconfigLinkProvider implements vscode.DocumentLinkProvider { } private getExendsLink(document: vscode.TextDocument, root: jsonc.Node): vscode.DocumentLink | undefined { - return this.pathNodeToLink(document, jsonc.findNodeAtLocation(root, ['extends'])); + const extendsNode = jsonc.findNodeAtLocation(root, ['extends']); + if (!this.isPathValue(extendsNode)) { + return undefined; + } + + return new vscode.DocumentLink( + this.getRange(document, extendsNode), + basename(extendsNode.value).match('.json$') + ? this.getFileTarget(document, extendsNode) + : vscode.Uri.file(join(dirname(document.uri.fsPath), extendsNode!.value + '.json'))); } private getFilesLinks(document: vscode.TextDocument, root: jsonc.Node) {