diff --git a/extensions/typescript/src/utils/projectStatus.ts b/extensions/typescript/src/utils/projectStatus.ts index 173a7e8b53fc361f98a009780fe6dfc8e6323063..5ecdb13486fb2a3e9602c72d20bafeb8950c4769 100644 --- a/extensions/typescript/src/utils/projectStatus.ts +++ b/extensions/typescript/src/utils/projectStatus.ts @@ -8,7 +8,7 @@ import * as vscode from 'vscode'; import { ITypescriptServiceClient } from '../typescriptService'; import { loadMessageBundle } from 'vscode-nls'; -import { dirname } from 'path'; +import { dirname, join } from 'path'; const localize = loadMessageBundle(); const selector = ['javascript', 'javascriptreact']; @@ -77,7 +77,6 @@ export function create(client: ITypescriptServiceClient, isOpen: (path: string) } if (fileNames.length > fileLimit) { - let largeRoots = computeLargeRoots(configFileName, fileNames).map(f => `'/${f}/'`).join(', '); currentHint = { @@ -91,7 +90,14 @@ export function create(client: ITypescriptServiceClient, isOpen: (path: string) projectHinted[configFileName] = true; item.hide(); - return vscode.workspace.openTextDocument(configFileName) + let configFileUri: vscode.Uri; + if (dirname(configFileName).indexOf(vscode.workspace.rootPath) === 0) { + configFileUri = vscode.Uri.file(configFileName); + } else { + configFileUri = vscode.Uri.parse('untitled://' + join(vscode.workspace.rootPath, 'jsconfig.json')); + } + + return vscode.workspace.openTextDocument(configFileUri) .then(vscode.window.showTextDocument); } }]