Skip to content

Commit 0a64bf4

Browse files
committed
Bump VS Code engine to 1.65.0
This is necessary to take the language client library update. Unfortunately it means that ADS won't be able to take the next update to our extension until they catch up to at least this engine version. It could be worse, we didn't have to bump to 1.7x.
1 parent 1d96e16 commit 0a64bf4

File tree

4 files changed

+38
-91
lines changed

4 files changed

+38
-91
lines changed

package-lock.json

+8-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"publisher": "ms-vscode",
77
"description": "(Preview) Develop PowerShell modules, commands and scripts in Visual Studio Code!",
88
"engines": {
9-
"vscode": "^1.62.0"
9+
"vscode": "^1.65.0"
1010
},
1111
"license": "SEE LICENSE IN LICENSE.txt",
1212
"homepage": "https://github.com/PowerShell/vscode-powershell/blob/main/README.md",
@@ -62,7 +62,7 @@
6262
"@types/semver": "~7.3.12",
6363
"@types/sinon": "~10.0.13",
6464
"@types/uuid": "~8.3.4",
65-
"@types/vscode": "~1.62.0",
65+
"@types/vscode": "~1.65.0",
6666
"@vscode/test-electron": "~2.1.5",
6767
"esbuild": "^0.15.1",
6868
"glob": "^8.0.3",

src/process.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,9 @@ export class PowerShellProcess {
111111
shellArgs: powerShellArgs,
112112
cwd: this.sessionSettings.cwd,
113113
iconPath: new vscode.ThemeIcon("terminal-powershell"),
114+
isTransient: true,
114115
};
115116

116-
if (semver.gte(vscode.version, "1.65.0")) {
117-
// @ts-ignore TODO: Don't ignore after we update our engine.
118-
terminalOptions.isTransient = true;
119-
}
120-
121117
this.consoleTerminal = vscode.window.createTerminal(terminalOptions);
122118

123119
const pwshName = path.basename(this.exePath);

src/session.ts

+27-76
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,7 @@ export class SessionManager implements Middleware {
9191
private focusConsoleOnExecute: boolean;
9292
private platformDetails: IPlatformDetails;
9393
private languageClientConsumers: LanguageClientConsumer[] = [];
94-
// @ts-ignore TODO: Don't ignore after we update our engine.
9594
private languageStatusItem: vscode.LanguageStatusItem;
96-
private statusBarItem: vscode.StatusBarItem;
9795
private languageServerProcess: PowerShellProcess;
9896
private debugSessionProcess: PowerShellProcess;
9997
private debugEventHandler: vscode.Disposable;
@@ -710,90 +708,43 @@ Type 'help' to get help.
710708

711709
private createStatusBarItem() {
712710
const statusTitle: string = "Show PowerShell Session Menu";
713-
// TODO: Remove old status bar logic when we update our engine.
714-
if (semver.gte(vscode.version, "1.65.0") && this.languageStatusItem === undefined) {
715-
// @ts-ignore
716-
this.languageStatusItem = vscode.languages.createLanguageStatusItem("powershell", this.documentSelector);
717-
this.languageStatusItem.command = { title: statusTitle, command: this.ShowSessionMenuCommandName };
718-
this.languageStatusItem.text = "$(terminal-powershell)";
719-
} else if (this.statusBarItem === undefined) {
720-
// Create the status bar item and place it right next
721-
// to the language indicator
722-
this.statusBarItem =
723-
vscode.window.createStatusBarItem(
724-
vscode.StatusBarAlignment.Right,
725-
1);
726-
727-
this.statusBarItem.command = this.ShowSessionMenuCommandName;
728-
this.statusBarItem.tooltip = statusTitle;
729-
this.statusBarItem.show();
730-
vscode.window.onDidChangeActiveTextEditor((textEditor) => {
731-
if (textEditor === undefined
732-
|| textEditor.document.languageId !== "powershell") {
733-
this.statusBarItem.hide();
734-
} else {
735-
this.statusBarItem.show();
736-
}
737-
});
711+
if (this.languageStatusItem !== undefined) {
712+
return;
738713
}
714+
this.languageStatusItem = vscode.languages.createLanguageStatusItem("powershell", this.documentSelector);
715+
this.languageStatusItem.command = { title: statusTitle, command: this.ShowSessionMenuCommandName };
716+
this.languageStatusItem.text = "$(terminal-powershell)";
739717
}
740718

741719
private setSessionStatus(statusText: string, status: SessionStatus): void {
742720
this.sessionStatus = status;
743-
// TODO: Remove old status bar logic when we update our engine.
744-
if (semver.gte(vscode.version, "1.65.0")) {
745-
this.languageStatusItem.detail = "PowerShell " + statusText;
746-
switch (status) {
747-
case SessionStatus.Running:
748-
case SessionStatus.NeverStarted:
749-
case SessionStatus.NotStarted:
750-
this.languageStatusItem.busy = false;
751-
// @ts-ignore
752-
this.languageStatusItem.severity = vscode.LanguageStatusSeverity.Information;
753-
break;
754-
case SessionStatus.Initializing:
755-
case SessionStatus.Stopping:
756-
this.languageStatusItem.busy = true;
757-
// @ts-ignore
758-
this.languageStatusItem.severity = vscode.LanguageStatusSeverity.Warning;
759-
break;
760-
case SessionStatus.Failed:
761-
this.languageStatusItem.busy = false;
762-
// @ts-ignore
763-
this.languageStatusItem.severity = vscode.LanguageStatusSeverity.Error;
764-
break;
765-
}
766-
} else {
767-
switch (status) {
768-
case SessionStatus.Running:
769-
case SessionStatus.NeverStarted:
770-
case SessionStatus.NotStarted:
771-
this.statusBarItem.text = "$(terminal-powershell)";
772-
// These have to be reset because this function mutates state.
773-
this.statusBarItem.color = undefined;
774-
this.statusBarItem.backgroundColor = undefined;
775-
break;
776-
case SessionStatus.Initializing:
777-
case SessionStatus.Stopping:
778-
this.statusBarItem.text = "$(sync)";
779-
this.statusBarItem.color = new vscode.ThemeColor("statusBarItem.warningForeground");
780-
this.statusBarItem.backgroundColor = new vscode.ThemeColor("statusBarItem.warningBackground");
781-
break;
782-
case SessionStatus.Failed:
783-
this.statusBarItem.text = "$(alert)";
784-
this.statusBarItem.color = new vscode.ThemeColor("statusBarItem.errorForeground");
785-
this.statusBarItem.backgroundColor = new vscode.ThemeColor("statusBarItem.errorBackground");
786-
break;
787-
}
788-
this.statusBarItem.text += " " + statusText;
721+
this.languageStatusItem.detail = "PowerShell " + statusText;
722+
switch (status) {
723+
case SessionStatus.Running:
724+
case SessionStatus.NeverStarted:
725+
case SessionStatus.NotStarted:
726+
this.languageStatusItem.busy = false;
727+
// @ts-ignore
728+
this.languageStatusItem.severity = vscode.LanguageStatusSeverity.Information;
729+
break;
730+
case SessionStatus.Initializing:
731+
case SessionStatus.Stopping:
732+
this.languageStatusItem.busy = true;
733+
// @ts-ignore
734+
this.languageStatusItem.severity = vscode.LanguageStatusSeverity.Warning;
735+
break;
736+
case SessionStatus.Failed:
737+
this.languageStatusItem.busy = false;
738+
// @ts-ignore
739+
this.languageStatusItem.severity = vscode.LanguageStatusSeverity.Error;
740+
break;
789741
}
742+
790743
}
791744

792745
private setSessionVersion(version: string): void {
793746
// TODO: Accept a VersionDetails object instead of a string.
794-
if (semver.gte(vscode.version, "1.65.0")) {
795-
this.languageStatusItem.text = "$(terminal-powershell) " + version;
796-
}
747+
this.languageStatusItem.text = "$(terminal-powershell) " + version;
797748
this.setSessionStatus(version, SessionStatus.Running);
798749
}
799750

0 commit comments

Comments
 (0)