|
1 | 1 | import { window, extensions, Uri } from 'vscode'; |
2 | 2 | import * as fs from 'fs-extra'; |
3 | 3 | import * as path from 'path'; |
4 | | -import { EnvironmentManagers } from '../../internal.api'; |
5 | | -import { CreateEnvironmentOptions, EnvironmentManager } from '../../api'; |
| 4 | +import { EnvironmentManagers, InternalEnvironmentManager } from '../../internal.api'; |
| 5 | +import { CreateEnvironmentOptions } from '../../api'; |
6 | 6 | import { traceVerbose } from '../../common/logging'; |
7 | 7 |
|
8 | 8 | /** |
@@ -68,31 +68,32 @@ export async function removeCopilotInstructions(destFolder: string) { |
68 | 68 | export async function quickCreateNewVenv(envManagers: EnvironmentManagers, destFolder: string) { |
69 | 69 | try { |
70 | 70 | // get the environment manager for venv |
71 | | - const envManager: EnvironmentManager | undefined = envManagers.managers.find( |
| 71 | + const envManager: InternalEnvironmentManager | undefined = envManagers.managers.find( |
72 | 72 | (m) => m.id === 'ms-python.python:venv', |
73 | 73 | ); |
74 | 74 | const destUri = Uri.parse(destFolder); |
75 | | - if (envManager && envManager.create) { |
| 75 | + if (envManager?.supportsQuickCreate) { |
76 | 76 | // with quickCreate enabled, user will not be prompted when creating the environment |
77 | 77 | const options: CreateEnvironmentOptions = { quickCreate: false }; |
78 | | - if (envManager.quickCreateConfig) { |
| 78 | + if (envManager.supportsQuickCreate) { |
79 | 79 | options.quickCreate = true; |
80 | 80 | } |
81 | 81 | const pyEnv = await envManager.create(destUri, options); |
82 | 82 | // comes back as undefined if this doesn't work |
83 | 83 | traceVerbose(`Created venv at: ${pyEnv?.environmentPath} using ${envManager.name}`); |
84 | 84 | } else { |
85 | | - // find an environment manager that supports create |
86 | | - const envManager = envManagers.managers.find((m) => m.create); |
87 | | - if (envManager) { |
88 | | - const options: CreateEnvironmentOptions = { quickCreate: true, additionalPackages: [] }; |
89 | | - const pyEnv = await envManager.create(destUri, options); |
90 | | - traceVerbose(`Created venv at: ${pyEnv?.environmentPath} using ${envManager.name}`); |
91 | | - } |
92 | | - // If no environment manager supports create, show an error message |
93 | | - window.showErrorMessage( |
94 | | - `No environment manager found that supports creating a new environment, skipping...`, |
95 | | - ); |
| 85 | + // // find an environment manager that supports create |
| 86 | + // const envManager = envManagers.managers.find((m) => m.supportsCreate); |
| 87 | + // if (envManager) { |
| 88 | + // const options: CreateEnvironmentOptions = { quickCreate: true, additionalPackages: [] }; |
| 89 | + // const pyEnv = await envManager.create(destUri, options); |
| 90 | + // traceVerbose(`Created venv at: ${pyEnv?.environmentPath} using ${envManager.name}`); |
| 91 | + // } |
| 92 | + // // If no environment manager supports create, show an error message |
| 93 | + // window.showErrorMessage( |
| 94 | + // `No environment manager found that supports creating a new environment, skipping...`, |
| 95 | + // ); |
| 96 | + //TODO: just throw error |
96 | 97 | } |
97 | 98 | } catch (err) { |
98 | 99 | window.showErrorMessage(`Failed to create virtual environment: ${err}`); |
|
0 commit comments