diff --git a/extensions/ql-vscode/src/local-databases.ts b/extensions/ql-vscode/src/local-databases.ts index a4e32a5d0..7dbdf3cf2 100644 --- a/extensions/ql-vscode/src/local-databases.ts +++ b/extensions/ql-vscode/src/local-databases.ts @@ -11,6 +11,7 @@ import { showAndLogExceptionWithTelemetry, isFolderAlreadyInWorkspace, showBinaryChoiceDialog, + getFirstStoragePath, } from "./helpers"; import { ProgressCallback, withProgress } from "./progress"; import { @@ -676,11 +677,13 @@ export class DatabaseManager extends DisposableObject { } try { + const workspaceStorage = getFirstStoragePath(); + const qlPackGenerator = new QlPackGenerator( folderName, databaseItem.language as QueryLanguage, this.cli, - this.ctx.storageUri?.fsPath, + workspaceStorage, ); await qlPackGenerator.generate(); } catch (e: unknown) { diff --git a/extensions/ql-vscode/src/qlpack-generator.ts b/extensions/ql-vscode/src/qlpack-generator.ts index a7efc3f3d..b87cf1351 100644 --- a/extensions/ql-vscode/src/qlpack-generator.ts +++ b/extensions/ql-vscode/src/qlpack-generator.ts @@ -1,7 +1,7 @@ -import { writeFile } from "fs-extra"; +import { mkdir, writeFile } from "fs-extra"; import { dump } from "js-yaml"; import { join } from "path"; -import { Uri, workspace } from "vscode"; +import { Uri } from "vscode"; import { CodeQLCliServer } from "./cli"; import { QueryLanguage } from "./common/query-language"; @@ -44,14 +44,7 @@ export class QlPackGenerator { } private async createWorkspaceFolder() { - await workspace.fs.createDirectory(this.folderUri); - - const end = (workspace.workspaceFolders || []).length; - - workspace.updateWorkspaceFolders(end, 0, { - name: this.folderName, - uri: this.folderUri, - }); + await mkdir(this.folderUri.fsPath); } private async createQlPackYaml() {