From ed6c7f6b029b058ab404479b0d0ed216588c88aa Mon Sep 17 00:00:00 2001 From: corbob Date: Sat, 29 Sep 2018 15:39:50 -0700 Subject: [PATCH 1/2] Log when languageClient not loaded. Copy the pattern from ExtensionsCommandsFeature to the other instances of the check without a log of the error. --- src/features/Console.ts | 6 ++++-- src/features/ExpandAlias.ts | 6 ++++-- src/features/SelectPSSARules.ts | 5 ++++- src/features/ShowHelp.ts | 6 ++++-- src/main.ts | 8 ++++---- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/features/Console.ts b/src/features/Console.ts index fdb93f83c2..ccc3abad6c 100644 --- a/src/features/Console.ts +++ b/src/features/Console.ts @@ -6,6 +6,7 @@ import vscode = require("vscode"); import { LanguageClient, NotificationType, RequestType } from "vscode-languageclient"; import { ICheckboxQuickPickItem, showCheckboxQuickPick } from "../controls/checkboxQuickPick"; import { IFeature } from "../feature"; +import { Logger } from "../logging"; export const EvaluateRequestType = new RequestType("evaluate"); export const OutputNotificationType = new NotificationType("output"); @@ -200,11 +201,12 @@ export class ConsoleFeature implements IFeature { private languageClient: LanguageClient; private resolveStatusBarPromise: (value?: {} | PromiseLike<{}>) => void; - constructor() { + constructor(private log: Logger) { this.commands = [ vscode.commands.registerCommand("PowerShell.RunSelection", async () => { if (this.languageClient === undefined) { - // TODO: Log error message + this.log.writeAndShowError(`<${ConsoleFeature.name}>: ` + + "Unable to instantiate; language client undefined."); return; } diff --git a/src/features/ExpandAlias.ts b/src/features/ExpandAlias.ts index 01fbe7366b..dd1872ff90 100644 --- a/src/features/ExpandAlias.ts +++ b/src/features/ExpandAlias.ts @@ -6,6 +6,7 @@ import vscode = require("vscode"); import Window = vscode.window; import { LanguageClient, NotificationType, RequestType } from "vscode-languageclient"; import { IFeature } from "../feature"; +import { Logger } from "../logging"; export const ExpandAliasRequestType = new RequestType("powerShell/expandAlias"); @@ -13,10 +14,11 @@ export class ExpandAliasFeature implements IFeature { private command: vscode.Disposable; private languageClient: LanguageClient; - constructor() { + constructor(private log: Logger) { this.command = vscode.commands.registerCommand("PowerShell.ExpandAlias", () => { if (this.languageClient === undefined) { - // TODO: Log error message + this.log.writeAndShowError(`<${ExpandAliasFeature.name}>: ` + + "Unable to instantiate; language client undefined."); return; } diff --git a/src/features/SelectPSSARules.ts b/src/features/SelectPSSARules.ts index c1a17dc64e..3c2682529e 100644 --- a/src/features/SelectPSSARules.ts +++ b/src/features/SelectPSSARules.ts @@ -6,6 +6,7 @@ import vscode = require("vscode"); import { LanguageClient, RequestType } from "vscode-languageclient"; import { ICheckboxQuickPickItem, showCheckboxQuickPick } from "../controls/checkboxQuickPick"; import { IFeature } from "../feature"; +import { Logger } from "../logging"; export const GetPSSARulesRequestType = new RequestType("powerShell/getPSSARules"); export const SetPSSARulesRequestType = new RequestType("powerShell/setPSSARules"); @@ -20,9 +21,11 @@ export class SelectPSSARulesFeature implements IFeature { private command: vscode.Disposable; private languageClient: LanguageClient; - constructor() { + constructor(private log: Logger) { this.command = vscode.commands.registerCommand("PowerShell.SelectPSSARules", () => { if (this.languageClient === undefined) { + this.log.writeAndShowError(`<${SelectPSSARulesFeature.name}>: ` + + "Unable to instantiate; language client undefined."); return; } diff --git a/src/features/ShowHelp.ts b/src/features/ShowHelp.ts index 0c877740bc..5e8660eb34 100644 --- a/src/features/ShowHelp.ts +++ b/src/features/ShowHelp.ts @@ -5,6 +5,7 @@ import vscode = require("vscode"); import { LanguageClient, NotificationType, RequestType } from "vscode-languageclient"; import { IFeature } from "../feature"; +import { Logger } from "../logging"; export const ShowHelpRequestType = new RequestType("powerShell/showHelp"); @@ -14,10 +15,11 @@ export class ShowHelpFeature implements IFeature { private deprecatedCommand: vscode.Disposable; private languageClient: LanguageClient; - constructor() { + constructor(private log: Logger) { this.command = vscode.commands.registerCommand("PowerShell.ShowHelp", () => { if (this.languageClient === undefined) { - // TODO: Log error message + this.log.writeAndShowError(`<${ShowHelpFeature.name}>: ` + + "Unable to instantiate; language client undefined."); return; } diff --git a/src/main.ts b/src/main.ts index 0a2673f73a..86482a05af 100644 --- a/src/main.ts +++ b/src/main.ts @@ -118,16 +118,16 @@ export function activate(context: vscode.ExtensionContext): void { // Create features extensionFeatures = [ - new ConsoleFeature(), + new ConsoleFeature(logger), new ExamplesFeature(), new OpenInISEFeature(), new GenerateBugReportFeature(sessionManager), - new ExpandAliasFeature(), - new ShowHelpFeature(), + new ExpandAliasFeature(logger), + new ShowHelpFeature(logger), new FindModuleFeature(), new PesterTestsFeature(sessionManager), new ExtensionCommandsFeature(logger), - new SelectPSSARulesFeature(), + new SelectPSSARulesFeature(logger), new CodeActionsFeature(), new NewFileOrProjectFeature(), new DocumentFormatterFeature(logger, documentSelector), From 222c063412149fa5ea122d09658da97f90deb89a Mon Sep 17 00:00:00 2001 From: corbob <30301021+corbob@users.noreply.github.com> Date: Mon, 1 Oct 2018 10:28:43 -0700 Subject: [PATCH 2/2] Fix indenting --- src/features/Console.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/Console.ts b/src/features/Console.ts index ccc3abad6c..70ae72a7a8 100644 --- a/src/features/Console.ts +++ b/src/features/Console.ts @@ -206,7 +206,7 @@ export class ConsoleFeature implements IFeature { vscode.commands.registerCommand("PowerShell.RunSelection", async () => { if (this.languageClient === undefined) { this.log.writeAndShowError(`<${ConsoleFeature.name}>: ` + - "Unable to instantiate; language client undefined."); + "Unable to instantiate; language client undefined."); return; }