diff --git a/client/src/addon_manager/commands/disable.ts b/client/src/addon_manager/commands/disable.ts index 4f1dea12176451f682c4412a9d709bceaf417d9d..e2b3dcea25a82218ccd83427c62b720dff0b61c4 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 5cb97d8f2d32d8b64f6b048b31cb0e26f0dd8a9e..64dce51b57bb6e0751a3aa3ff6ac676ba591c38e 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 673b6ec6b37685553160eec00d827310dc1c9824..8c9c38daa69c4af2a4182f41ac2ec630054a3277 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 72214196d2707d4388f71a00a58cf2442c6eadab..0ec2b20dbae16d93a9a247427efb2b42e5f609e7 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 ?? [] });