mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 21:09:43 +00:00
switch to use config context key over manual context definition.
This commit is contained in:
parent
6ed74d7736
commit
c94f12ed34
|
@ -30,8 +30,7 @@
|
|||
"activationEvents": [
|
||||
"onCommand:workbench.action.tasks.runTask",
|
||||
"onLanguage:json",
|
||||
"onView:npm",
|
||||
"workspaceContains:package.json"
|
||||
"onView:npm"
|
||||
],
|
||||
"contributes": {
|
||||
"views": {
|
||||
|
@ -39,7 +38,7 @@
|
|||
{
|
||||
"id": "npm",
|
||||
"name": "%view.name%",
|
||||
"when": "showExplorer"
|
||||
"when": "config.npm.enableScriptExplorer"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -9,7 +9,7 @@ import * as vscode from 'vscode';
|
|||
|
||||
import { addJSONProviders } from './features/jsonContributions';
|
||||
import { NpmScriptsTreeDataProvider } from './npmView';
|
||||
import { provideNpmScripts, explorerIsEnabled } from './tasks';
|
||||
import { provideNpmScripts } from './tasks';
|
||||
|
||||
let taskProvider: vscode.Disposable | undefined;
|
||||
|
||||
|
@ -17,11 +17,8 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
|
|||
taskProvider = registerTaskProvider(context);
|
||||
registerExplorer(context);
|
||||
configureHttpRequest();
|
||||
vscode.workspace.onDidChangeConfiguration((e) => {
|
||||
vscode.workspace.onDidChangeConfiguration(() => {
|
||||
configureHttpRequest();
|
||||
if (e.affectsConfiguration('npm.enableScriptExplorer')) {
|
||||
updateExplorerVisibility();
|
||||
}
|
||||
});
|
||||
context.subscriptions.push(addJSONProviders(httpRequest.xhr));
|
||||
}
|
||||
|
@ -53,15 +50,10 @@ function registerTaskProvider(context: vscode.ExtensionContext): vscode.Disposab
|
|||
return undefined;
|
||||
}
|
||||
|
||||
function updateExplorerVisibility() {
|
||||
vscode.commands.executeCommand('setContext', 'showExplorer', explorerIsEnabled());
|
||||
}
|
||||
|
||||
async function registerExplorer(context: vscode.ExtensionContext) {
|
||||
if (vscode.workspace.workspaceFolders) {
|
||||
let treeDataProvider = vscode.window.registerTreeDataProvider('npm', new NpmScriptsTreeDataProvider(context));
|
||||
context.subscriptions.push(treeDataProvider);
|
||||
updateExplorerVisibility();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,20 +52,6 @@ export function getPackageManager(folder: WorkspaceFolder): string {
|
|||
return workspace.getConfiguration('npm', folder.uri).get<string>('packageManager', 'npm');
|
||||
}
|
||||
|
||||
export function explorerIsEnabled(): boolean {
|
||||
let folders = workspace.workspaceFolders;
|
||||
if (!folders) {
|
||||
return false;
|
||||
}
|
||||
for (let i = 0; i < folders.length; i++) {
|
||||
let folder = folders[i];
|
||||
if (workspace.getConfiguration('npm', folder.uri).get<boolean>('enableScriptExplorer') === true) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
export async function hasNpmScripts(): Promise<boolean> {
|
||||
let folders = workspace.workspaceFolders;
|
||||
if (!folders) {
|
||||
|
|
Loading…
Reference in a new issue