From b7c5d6916e41ad4418d4c748506566d7df24b29b Mon Sep 17 00:00:00 2001 From: carsakiller <carsakiller@gmail.com> Date: Thu, 2 Mar 2023 22:27:39 -0500 Subject: [PATCH] fix: error when no workspace opened --- client/src/addon_manager/commands/disable.ts | 2 +- client/src/addon_manager/commands/enable.ts | 2 +- client/src/addon_manager/panels/WebVue.ts | 2 +- client/src/addon_manager/services/settings.service.ts | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/client/src/addon_manager/commands/disable.ts b/client/src/addon_manager/commands/disable.ts index 4f1dea1..e2b3dce 100644 --- a/client/src/addon_manager/commands/disable.ts +++ b/client/src/addon_manager/commands/disable.ts @@ -17,7 +17,7 @@ export default async (context: vscode.ExtensionContext, message: Message) => { let selectedFolders: vscode.WorkspaceFolder[]; - if (workspaceFolders.length === 1) { + if (workspaceFolders && workspaceFolders.length === 1) { selectedFolders = [workspaceFolders[0]]; } else { const folderOptions = await addon.getQuickPickerOptions(true); diff --git a/client/src/addon_manager/commands/enable.ts b/client/src/addon_manager/commands/enable.ts index 5cb97d8..64dce51 100644 --- a/client/src/addon_manager/commands/enable.ts +++ b/client/src/addon_manager/commands/enable.ts @@ -16,7 +16,7 @@ export default async (context: vscode.ExtensionContext, message: Message) => { const workspaceFolders = vscode.workspace.workspaceFolders; let selectedFolders: vscode.WorkspaceFolder[]; - if (workspaceFolders.length === 1) { + if (workspaceFolders && workspaceFolders.length === 1) { selectedFolders = [workspaceFolders[0]]; } else { const folderOptions = await addon.getQuickPickerOptions(false); diff --git a/client/src/addon_manager/panels/WebVue.ts b/client/src/addon_manager/panels/WebVue.ts index 673b6ec..8c9c38d 100644 --- a/client/src/addon_manager/panels/WebVue.ts +++ b/client/src/addon_manager/panels/WebVue.ts @@ -80,7 +80,7 @@ export class WebVue { WebVue.currentPanel = new WebVue(context, panel); } - const workspaceOpen = vscode.workspace.workspaceFolders.length > 0; + const workspaceOpen = vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0; const clientVersion = context.extension.packageJSON.version; WebVue.sendMessage("appStore", { diff --git a/client/src/addon_manager/services/settings.service.ts b/client/src/addon_manager/services/settings.service.ts index 7221419..0ec2b20 100644 --- a/client/src/addon_manager/services/settings.service.ts +++ b/client/src/addon_manager/services/settings.service.ts @@ -21,6 +21,8 @@ export const getLibraryPaths = async (): Promise< > => { const result = []; + if (!vscode.workspace.workspaceFolders) return []; + for (const folder of vscode.workspace.workspaceFolders) { const libraries = await getConfig(LIBRARY_SETTING, folder.uri); result.push({ folder, paths: libraries ?? [] }); -- GitLab