Skip to content

Commit 2b84f09

Browse files
authored
Remove objectscript.ignoreInstallServerManager setting (#1339)
1 parent 2f4d263 commit 2b84f09

File tree

2 files changed

+10
-63
lines changed

2 files changed

+10
-63
lines changed

package.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1477,11 +1477,6 @@
14771477
"default": false,
14781478
"description": "Output in JSON format the action that VS Code should perform as requested by the server."
14791479
},
1480-
"objectscript.ignoreInstallServerManager": {
1481-
"type": "boolean",
1482-
"default": false,
1483-
"markdownDescription": "Do not offer to install the [intersystems-community.servermanager](https://marketplace.visualstudio.com/items?itemName=intersystems-community.servermanager) extension."
1484-
},
14851480
"objectscript.autoShowTerminal": {
14861481
"description": "Automatically show terminal when connected to docker-compose.",
14871482
"type": "boolean",

src/extension.ts

Lines changed: 10 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -473,52 +473,6 @@ function setConnectionState(configName: string, active: boolean) {
473473
return connConfig.update("conn", { ...targetConfig, active }, target);
474474
}
475475

476-
// Promise to return the API of the servermanager
477-
async function serverManager(): Promise<any> {
478-
let extension = vscode.extensions.getExtension(smExtensionId);
479-
const ignore =
480-
config("ignoreInstallServerManager") ||
481-
vscode.workspace.getConfiguration("intersystems.servers").get("/ignore", false);
482-
if (!extension) {
483-
if (ignore) {
484-
return;
485-
}
486-
try {
487-
await vscode.commands.executeCommand("extension.open", smExtensionId);
488-
} catch (ex) {
489-
// Such command do not exists, suppose we are under Theia, it's not possible to install this extension this way
490-
return;
491-
}
492-
await vscode.window
493-
.showInformationMessage(
494-
`The [InterSystems Server Manager extension](https://marketplace.visualstudio.com/items?itemName=${smExtensionId}) is recommended to help you [define connections and store passwords securely](https://docs.intersystems.com/components/csp/docbook/DocBook.UI.Page.cls?KEY=GVSCO_config#GVSCO_config_addserver) in your keychain.`,
495-
"Install",
496-
"Later",
497-
"Never"
498-
)
499-
.then(async (action) => {
500-
switch (action) {
501-
case "Install":
502-
await vscode.commands.executeCommand("workbench.extensions.search", `@tag:"intersystems"`).then(null, null);
503-
await vscode.commands.executeCommand("workbench.extensions.installExtension", smExtensionId);
504-
extension = vscode.extensions.getExtension(smExtensionId);
505-
break;
506-
case "Never":
507-
config().update("ignoreInstallServerManager", true, vscode.ConfigurationTarget.Global);
508-
break;
509-
case "Later":
510-
default:
511-
}
512-
});
513-
}
514-
if (extension) {
515-
if (!extension.isActive) {
516-
await extension.activate();
517-
}
518-
return extension.exports;
519-
}
520-
}
521-
522476
function languageServer(install = true): vscode.Extension<any> {
523477
let extension = vscode.extensions.getExtension(lsExtensionId);
524478

@@ -534,19 +488,15 @@ function languageServer(install = true): vscode.Extension<any> {
534488
}
535489
await vscode.window
536490
.showInformationMessage(
537-
`Install the [InterSystems Language Server extension](https://marketplace.visualstudio.com/items?itemName=${lsExtensionId}) for best handling of ObjectScript code.`,
491+
`Install the [InterSystems Language Server extension](https://marketplace.visualstudio.com/items?itemName=${lsExtensionId}) for improved intellisense and syntax coloring for ObjectScript code.`,
538492
"Install",
539493
"Later"
540494
)
541495
.then(async (action) => {
542-
switch (action) {
543-
case "Install":
544-
await vscode.commands.executeCommand("workbench.extensions.search", `@tag:"intersystems"`).then(null, null);
545-
await vscode.commands.executeCommand("workbench.extensions.installExtension", lsExtensionId);
546-
extension = vscode.extensions.getExtension(lsExtensionId);
547-
break;
548-
case "Later":
549-
default:
496+
if (action == "Install") {
497+
await vscode.commands.executeCommand("workbench.extensions.search", `@tag:"intersystems"`).then(null, null);
498+
await vscode.commands.executeCommand("workbench.extensions.installExtension", lsExtensionId);
499+
extension = vscode.extensions.getExtension(lsExtensionId);
550500
}
551501
});
552502
}
@@ -613,8 +563,10 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
613563
extensionContext = context;
614564
workspaceState.update("workspaceFolder", undefined);
615565

616-
// Get api for servermanager extension, perhaps offering to install it
617-
serverManagerApi = await serverManager();
566+
// Get api for servermanager extension
567+
const smExt = vscode.extensions.getExtension(smExtensionId);
568+
if (!smExt.isActive) await smExt.activate();
569+
serverManagerApi = smExt.exports;
618570

619571
documentContentProvider = new DocumentContentProvider();
620572
fileSystemProvider = new FileSystemProvider();
@@ -708,7 +660,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
708660
const noLSsubscriptions: { dispose(): any }[] = [];
709661
if (!languageServerExt) {
710662
if (!config("ignoreInstallLanguageServer")) {
711-
outputChannel.appendLine(`The intersystems.language-server extension is not installed or has been disabled.\n`);
663+
outputChannel.appendLine("The intersystems.language-server extension is not installed or has been disabled.");
712664
outputChannel.show(true);
713665
}
714666

0 commit comments

Comments
 (0)