diff --git a/src/features/envCommands.ts b/src/features/envCommands.ts index ffc4e239..f18c0a38 100644 --- a/src/features/envCommands.ts +++ b/src/features/envCommands.ts @@ -142,17 +142,24 @@ export async function createAnyEnvironmentCommand( } }); - let managerId = await pickEnvironmentManager( - em.managers.filter((m) => m.supportsCreate), - defaultManagers, - ); - let quickCreate = false; - if (managerId?.startsWith('QuickCreate#')) { - quickCreate = true; - managerId = managerId.replace('QuickCreate#', ''); + let quickCreate = options?.quickCreate ?? false; + let manager: InternalEnvironmentManager | undefined; + + if (quickCreate && defaultManagers.length === 1) { + manager = defaultManagers[0]; + } else { + let managerId = await pickEnvironmentManager( + em.managers.filter((m) => m.supportsCreate), + defaultManagers, + ); + if (managerId?.startsWith('QuickCreate#')) { + quickCreate = true; + managerId = managerId.replace('QuickCreate#', ''); + } + + manager = em.managers.find((m) => m.id === managerId); } - const manager = em.managers.find((m) => m.id === managerId); if (manager) { const env = await manager.create( selected.map((p) => p.uri), diff --git a/src/managers/builtin/venvManager.ts b/src/managers/builtin/venvManager.ts index 03ba5009..608ec46f 100644 --- a/src/managers/builtin/venvManager.ts +++ b/src/managers/builtin/venvManager.ts @@ -135,6 +135,7 @@ export class VenvManager implements EnvironmentManager { this, this.globalEnv, venvRoot, + options?.additionalPackages, ); } else if (!this.globalEnv) { this.log.error('No base python found');