Skip to content

Commit e77c58d

Browse files
committed
Inform user when 'npm.autoDetect' is off.
1 parent 12770d4 commit e77c58d

3 files changed

Lines changed: 11 additions & 7 deletions

File tree

extensions/npm/src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
2121
configureHttpRequest();
2222
let d = vscode.workspace.onDidChangeConfiguration((e) => {
2323
configureHttpRequest();
24-
if (e.affectsConfiguration('npm.exclude')) {
24+
if (e.affectsConfiguration('npm.exclude') || e.affectsConfiguration('npm.autoDetect')) {
2525
invalidateTasksCache();
2626
if (treeDataProvider) {
2727
treeDataProvider.refresh();

extensions/npm/src/npmView.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
import { visit, JSONVisitor } from 'jsonc-parser';
1313
import {
1414
NpmTaskDefinition, getPackageJsonUriFromTask, getScripts,
15-
isWorkspaceFolder, getTaskName, createTask, extractDebugArgFromScript, startDebugging
15+
isWorkspaceFolder, getTaskName, createTask, extractDebugArgFromScript, startDebugging, isAutoDetectionEnabled
1616
} from './tasks';
1717
import * as nls from 'vscode-nls';
1818

@@ -119,8 +119,8 @@ class NpmScript extends TreeItem {
119119
}
120120

121121
class NoScripts extends TreeItem {
122-
constructor() {
123-
super(localize('noScripts', 'No scripts found'), TreeItemCollapsibleState.None);
122+
constructor(message: string) {
123+
super(message, TreeItemCollapsibleState.None);
124124
this.contextValue = 'noscripts';
125125
}
126126
}
@@ -260,7 +260,11 @@ export class NpmScriptsTreeDataProvider implements TreeDataProvider<TreeItem> {
260260
if (taskItems) {
261261
this.taskTree = this.buildTaskTree(taskItems);
262262
if (this.taskTree.length === 0) {
263-
this.taskTree = [new NoScripts()];
263+
let message = localize('noScripts', 'No scripts found.');
264+
if (!isAutoDetectionEnabled()) {
265+
message = localize('autoDetectIsOff', 'The setting "npm.autoDetect" is "off".');
266+
}
267+
this.taskTree = [new NoScripts(message)];
264268
}
265269
}
266270
}

extensions/npm/src/tasks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ export async function provideNpmScripts(): Promise<Task[]> {
190190
return cachedTasks;
191191
}
192192

193-
function isAutoDetectionEnabled(folder: WorkspaceFolder): boolean {
194-
return workspace.getConfiguration('npm', folder.uri).get<AutoDetect>('autoDetect') === 'on';
193+
export function isAutoDetectionEnabled(folder?: WorkspaceFolder): boolean {
194+
return workspace.getConfiguration('npm', folder?.uri).get<AutoDetect>('autoDetect') === 'on';
195195
}
196196

197197
function isExcluded(folder: WorkspaceFolder, packageJsonUri: Uri) {

0 commit comments

Comments
 (0)