mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-27 20:13:32 +01:00
don't show a lightbulb if there is jsconfig.json file in the root folder, #5699
This commit is contained in:
@@ -9,6 +9,7 @@ import * as vscode from 'vscode';
|
||||
import {ITypescriptServiceClient} from '../typescriptService';
|
||||
import {loadMessageBundle} from 'vscode-nls';
|
||||
import {dirname, join} from 'path';
|
||||
import {exists} from 'fs';
|
||||
|
||||
const localize = loadMessageBundle();
|
||||
const selector = ['javascript', 'javascriptreact'];
|
||||
@@ -75,35 +76,42 @@ export function create(client: ITypescriptServiceClient, isOpen:(path:string)=>P
|
||||
}
|
||||
|
||||
if (!configFileName) {
|
||||
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();
|
||||
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:' + 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');
|
||||
return vscode.workspace.openTextDocument(vscode.Uri.parse('untitled:' + 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) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user