Skip to content

Commit

Permalink
Remove jsconfig.json lightbulb hint
Browse files Browse the repository at this point in the history
Issue #15205

**Bug**
Typescript now infers projects if no jsconfig.json is found. This means that the hint about creating a `jsconfig.json` file is not required.

**Fix**
Remove the `jsconfig.json` hinting logic.
  • Loading branch information
mjbvz committed Nov 8, 2016
1 parent 603e08d commit a523c2d
Showing 1 changed file with 2 additions and 58 deletions.
60 changes: 2 additions & 58 deletions extensions/typescript/src/utils/projectStatus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
import * as vscode from 'vscode';
import { ITypescriptServiceClient } from '../typescriptService';
import { loadMessageBundle } from 'vscode-nls';
import { dirname, join } from 'path';
import { exists } from 'fs';
import { dirname } from 'path';

const localize = loadMessageBundle();
const selector = ['javascript', 'javascriptreact'];
Expand Down Expand Up @@ -77,45 +76,7 @@ export function create(client: ITypescriptServiceClient, isOpen: (path: string)
return;
}

if (!configFileName && vscode.workspace.rootPath) {
exists(join(vscode.workspace.rootPath, 'jsconfig.json'), exists => {
// don't hint if there is a global jsconfig-file. We can get here due
// to TypeScript bugs or jsconfig configurations
if (exists) {
return;
}
currentHint = {
message: localize('hintCreate', "Create a jsconfig.json to enable richer IntelliSense and code navigation across the entire workspace."),
options: [{
title: localize('ignore.cmdCreate', 'Ignore'),
execute: () => {
client.logTelemetry('js.hintProjectCreation.ignored');
projectHinted[configFileName] = true;
projectHintIgnoreList.push(configFileName);
memento.update('projectHintIgnoreList', projectHintIgnoreList);
item.hide();
}
}, {
title: localize('cmdCreate', "Create jsconfig.json"),
execute: () => {
client.logTelemetry('js.hintProjectCreation.accepted');
projectHinted[configFileName] = true;
item.hide();

return vscode.workspace.openTextDocument(vscode.Uri.parse('untitled:' + encodeURIComponent(join(vscode.workspace.rootPath, 'jsconfig.json'))))
.then(doc => vscode.window.showTextDocument(doc, vscode.ViewColumn.Three))
.then(editor => editor.edit(builder => builder.insert(new vscode.Position(0, 0), defaultConfig)));
}
}]
};
item.text = '$(light-bulb)';
item.tooltip = localize('hintCreate.tooltip', "Create a jsconfig.json to enable richer IntelliSense and code navigation across the entire workspace.");
item.color = '#A5DF3B';
item.show();
client.logTelemetry('js.hintProjectCreation');
});

} else if (fileNames.length > fileLimit) {
if (fileNames.length > fileLimit) {

let largeRoots = computeLargeRoots(configFileName, fileNames).map(f => `'/${f}/'`).join(', ');

Expand Down Expand Up @@ -195,20 +156,3 @@ function computeLargeRoots(configFileName: string, fileNames: string[]): string[

return result;
}

const defaultConfig = `{
${localize('jsconfig.heading', '// See https://go.microsoft.com/fwlink/?LinkId=759670\n\t// for the documentation about the jsconfig.json format')}
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"allowSyntheticDefaultImports": true
},
"exclude": [
"node_modules",
"bower_components",
"jspm_packages",
"tmp",
"temp"
]
}
`;

0 comments on commit a523c2d

Please sign in to comment.