@@ -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 ,
@@ -75,7 +81,7 @@ export async function createEnvironmentCommand(
7581 const manager = ( context as EnvManagerTreeItem ) . manager ;
7682 const projects = pm . getProjects ( ) ;
7783 if ( projects . length === 0 ) {
78- const env = await manager . create ( 'global' ) ;
84+ const env = await manager . create ( 'global' , undefined ) ;
7985 if ( env ) {
8086 await em . setEnvironments ( 'global' , env ) ;
8187 }
@@ -84,7 +90,7 @@ export async function createEnvironmentCommand(
8490 const selected = await pickProjectMany ( projects ) ;
8591 if ( selected ) {
8692 const scope = selected . length === 0 ? 'global' : selected . map ( ( p ) => p . uri ) ;
87- const env = await manager . create ( scope ) ;
93+ const env = await manager . create ( scope , undefined ) ;
8894 if ( env ) {
8995 await em . setEnvironments ( scope , env ) ;
9096 }
@@ -97,7 +103,7 @@ export async function createEnvironmentCommand(
97103 const manager = em . getEnvironmentManager ( context as Uri ) ;
98104 const project = pm . get ( context as Uri ) ;
99105 if ( project ) {
100- return await manager ?. create ( project . uri ) ;
106+ return await manager ?. create ( project . uri , undefined ) ;
101107 } else {
102108 traceError ( `No project found for ${ context } ` ) ;
103109 }
@@ -109,16 +115,15 @@ export async function createEnvironmentCommand(
109115export async function createAnyEnvironmentCommand (
110116 em : EnvironmentManagers ,
111117 pm : PythonProjectManager ,
112- // eslint-disable-next-line @typescript-eslint/no-explicit-any
113- options ?: any ,
118+ options ?: CreateEnvironmentOptions & { selectEnvironment : boolean } ,
114119) : Promise < PythonEnvironment | undefined > {
115120 const select = options ?. selectEnvironment ;
116121 const projects = pm . getProjects ( ) ;
117122 if ( projects . length === 0 ) {
118123 const managerId = await pickEnvironmentManager ( em . managers . filter ( ( m ) => m . supportsCreate ) ) ;
119124 const manager = em . managers . find ( ( m ) => m . id === managerId ) ;
120125 if ( manager ) {
121- const env = await manager . create ( 'global' ) ;
126+ const env = await manager . create ( 'global' , { ... options } ) ;
122127 if ( select && env ) {
123128 await manager . set ( undefined , env ) ;
124129 }
@@ -137,14 +142,22 @@ export async function createAnyEnvironmentCommand(
137142 }
138143 } ) ;
139144
140- const managerId = await pickEnvironmentManager (
145+ let managerId = await pickEnvironmentManager (
141146 em . managers . filter ( ( m ) => m . supportsCreate ) ,
142147 defaultManagers ,
143148 ) ;
149+ let quickCreate = false ;
150+ if ( managerId ?. startsWith ( 'QuickCreate#' ) ) {
151+ quickCreate = true ;
152+ managerId = managerId . replace ( 'QuickCreate#' , '' ) ;
153+ }
144154
145155 const manager = em . managers . find ( ( m ) => m . id === managerId ) ;
146156 if ( manager ) {
147- const env = await manager . create ( selected . map ( ( p ) => p . uri ) ) ;
157+ const env = await manager . create (
158+ selected . map ( ( p ) => p . uri ) ,
159+ { ...options , quickCreate } ,
160+ ) ;
148161 if ( select && env ) {
149162 await em . setEnvironments (
150163 selected . map ( ( p ) => p . uri ) ,
0 commit comments