@@ -7,7 +7,13 @@ import {
77 PythonProjectManager ,
88} from '../internal.api' ;
99import { traceError , traceInfo , traceVerbose } from '../common/logging' ;
10- import { PythonEnvironment , PythonEnvironmentApi , PythonProject , PythonProjectCreator } from '../api' ;
10+ import {
11+ CreateEnvironmentOptions ,
12+ PythonEnvironment ,
13+ PythonEnvironmentApi ,
14+ PythonProject ,
15+ PythonProjectCreator ,
16+ } from '../api' ;
1117import * as path from 'path' ;
1218import {
1319 setEnvironmentManager ,
@@ -77,7 +83,7 @@ export async function createEnvironmentCommand(
7783 const manager = ( context as EnvManagerTreeItem ) . manager ;
7884 const projects = pm . getProjects ( ) ;
7985 if ( projects . length === 0 ) {
80- const env = await manager . create ( 'global' ) ;
86+ const env = await manager . create ( 'global' , undefined ) ;
8187 if ( env ) {
8288 await em . setEnvironments ( 'global' , env ) ;
8389 }
@@ -86,7 +92,7 @@ export async function createEnvironmentCommand(
8692 const selected = await pickProjectMany ( projects ) ;
8793 if ( selected ) {
8894 const scope = selected . length === 0 ? 'global' : selected . map ( ( p ) => p . uri ) ;
89- const env = await manager . create ( scope ) ;
95+ const env = await manager . create ( scope , undefined ) ;
9096 if ( env ) {
9197 await em . setEnvironments ( scope , env ) ;
9298 }
@@ -99,7 +105,7 @@ export async function createEnvironmentCommand(
99105 const manager = em . getEnvironmentManager ( context as Uri ) ;
100106 const project = pm . get ( context as Uri ) ;
101107 if ( project ) {
102- return await manager ?. create ( project . uri ) ;
108+ return await manager ?. create ( project . uri , undefined ) ;
103109 } else {
104110 traceError ( `No project found for ${ context } ` ) ;
105111 }
@@ -111,16 +117,15 @@ export async function createEnvironmentCommand(
111117export async function createAnyEnvironmentCommand (
112118 em : EnvironmentManagers ,
113119 pm : PythonProjectManager ,
114- // eslint-disable-next-line @typescript-eslint/no-explicit-any
115- options ?: any ,
120+ options ?: CreateEnvironmentOptions & { selectEnvironment : boolean } ,
116121) : Promise < PythonEnvironment | undefined > {
117122 const select = options ?. selectEnvironment ;
118123 const projects = pm . getProjects ( ) ;
119124 if ( projects . length === 0 ) {
120125 const managerId = await pickEnvironmentManager ( em . managers . filter ( ( m ) => m . supportsCreate ) ) ;
121126 const manager = em . managers . find ( ( m ) => m . id === managerId ) ;
122127 if ( manager ) {
123- const env = await manager . create ( 'global' ) ;
128+ const env = await manager . create ( 'global' , { ... options } ) ;
124129 if ( select && env ) {
125130 await manager . set ( undefined , env ) ;
126131 }
@@ -139,14 +144,22 @@ export async function createAnyEnvironmentCommand(
139144 }
140145 } ) ;
141146
142- const managerId = await pickEnvironmentManager (
147+ let managerId = await pickEnvironmentManager (
143148 em . managers . filter ( ( m ) => m . supportsCreate ) ,
144149 defaultManagers ,
145150 ) ;
151+ let quickCreate = false ;
152+ if ( managerId ?. startsWith ( 'QuickCreate#' ) ) {
153+ quickCreate = true ;
154+ managerId = managerId . replace ( 'QuickCreate#' , '' ) ;
155+ }
146156
147157 const manager = em . managers . find ( ( m ) => m . id === managerId ) ;
148158 if ( manager ) {
149- const env = await manager . create ( selected . map ( ( p ) => p . uri ) ) ;
159+ const env = await manager . create (
160+ selected . map ( ( p ) => p . uri ) ,
161+ { ...options , quickCreate } ,
162+ ) ;
150163 if ( select && env ) {
151164 await em . setEnvironments (
152165 selected . map ( ( p ) => p . uri ) ,
0 commit comments