11import { commands , ExtensionContext , LogOutputChannel , Terminal , Uri } from 'vscode' ;
22
3- import { PythonEnvironmentManagers } from './features/envManagers' ;
3+ import { PythonEnvironment , PythonEnvironmentApi } from './api' ;
4+ import { ensureCorrectVersion } from './common/extVersion' ;
5+ import { registerTools } from './common/lm.apis' ;
46import { registerLogger , traceError , traceInfo } from './common/logging' ;
5- import { EnvManagerView } from './features/views/envManagersView' ;
7+ import { setPersistentState } from './common/persistentState' ;
8+ import { StopWatch } from './common/stopWatch' ;
9+ import { EventNames } from './common/telemetry/constants' ;
10+ import { sendManagerSelectionTelemetry } from './common/telemetry/helpers' ;
11+ import { sendTelemetryEvent } from './common/telemetry/sender' ;
12+ import {
13+ activeTerminal ,
14+ createLogOutputChannel ,
15+ onDidChangeActiveTerminal ,
16+ onDidChangeActiveTextEditor ,
17+ onDidChangeTerminalShellIntegration ,
18+ } from './common/window.apis' ;
19+ import { GetEnvironmentInfoTool , InstallPackageTool } from './features/copilotTools' ;
20+ import { AutoFindProjects } from './features/creators/autoFindProjects' ;
21+ import { ExistingProjects } from './features/creators/existingProjects' ;
22+ import { ProjectCreatorsImpl } from './features/creators/projectCreators' ;
623import {
724 addPythonProject ,
25+ copyPathToClipboard ,
26+ createAnyEnvironmentCommand ,
827 createEnvironmentCommand ,
928 createTerminalCommand ,
1029 getPackageCommandOptions ,
30+ handlePackageUninstall ,
1131 refreshManagerCommand ,
32+ refreshPackagesCommand ,
1233 removeEnvironmentCommand ,
1334 removePythonProject ,
35+ resetEnvironmentCommand ,
1436 runAsTaskCommand ,
37+ runInDedicatedTerminalCommand ,
1538 runInTerminalCommand ,
16- setEnvManagerCommand ,
1739 setEnvironmentCommand ,
40+ setEnvManagerCommand ,
1841 setPackageManagerCommand ,
19- resetEnvironmentCommand ,
20- refreshPackagesCommand ,
21- createAnyEnvironmentCommand ,
22- runInDedicatedTerminalCommand ,
23- handlePackageUninstall ,
24- copyPathToClipboard ,
2542} from './features/envCommands' ;
26- import { registerCondaFeatures } from './managers/conda/main ' ;
27- import { registerSystemPythonFeatures } from './managers/builtin/main ' ;
43+ import { PythonEnvironmentManagers } from './features/envManagers ' ;
44+ import { EnvVarManager , PythonEnvVariableManager } from './features/execution/envVariableManager ' ;
2845import { PythonProjectManagerImpl } from './features/projectManager' ;
29- import { EnvironmentManagers , ProjectCreators , PythonProjectManager } from './internal.api' ;
3046import { getPythonApi , setPythonApi } from './features/pythonApi' ;
31- import { setPersistentState } from './common/persistentState' ;
32- import { createNativePythonFinder , NativePythonFinder } from './managers/common/nativePythonFinder' ;
33- import { PythonEnvironment , PythonEnvironmentApi } from './api' ;
34- import { ProjectCreatorsImpl } from './features/creators/projectCreators' ;
35- import { ProjectView } from './features/views/projectView' ;
3647import { registerCompletionProvider } from './features/settings/settingCompletions' ;
37- import { TerminalManager , TerminalManagerImpl } from './features/terminal/terminalManager' ;
38- import {
39- activeTerminal ,
40- createLogOutputChannel ,
41- onDidChangeActiveTerminal ,
42- onDidChangeActiveTextEditor ,
43- onDidChangeTerminalShellIntegration ,
44- } from './common/window.apis' ;
4548import { setActivateMenuButtonContext } from './features/terminal/activateMenuButton' ;
49+ import { ShellStartupActivationManagerImpl } from './features/terminal/shells/activateUsingShellStartup' ;
50+ import { normalizeShellPath } from './features/terminal/shells/common/shellUtils' ;
51+ import { createShellEnvProviders , createShellStartupProviders } from './features/terminal/shells/providers' ;
52+ import { TerminalActivationImpl } from './features/terminal/terminalActivationState' ;
53+ import { TerminalManager , TerminalManagerImpl } from './features/terminal/terminalManager' ;
54+ import { getEnvironmentForTerminal } from './features/terminal/utils' ;
55+ import { EnvManagerView } from './features/views/envManagersView' ;
56+ import { ProjectView } from './features/views/projectView' ;
4657import { PythonStatusBarImpl } from './features/views/pythonStatusBar' ;
4758import { updateViewsAndStatus } from './features/views/revealHandler' ;
48- import { EnvVarManager , PythonEnvVariableManager } from './features/execution/envVariableManager' ;
49- import { StopWatch } from './common/stopWatch' ;
50- import { sendTelemetryEvent } from './common/telemetry/sender' ;
51- import { EventNames } from './common/telemetry/constants' ;
52- import { ensureCorrectVersion } from './common/extVersion' ;
53- import { ExistingProjects } from './features/creators/existingProjects' ;
54- import { AutoFindProjects } from './features/creators/autoFindProjects' ;
55- import { registerTools } from './common/lm.apis' ;
56- import { GetEnvironmentInfoTool , InstallPackageTool } from './features/copilotTools' ;
57- import { TerminalActivationImpl } from './features/terminal/terminalActivationState' ;
58- import { sendManagerSelectionTelemetry } from './common/telemetry/helpers' ;
59- import { getEnvironmentForTerminal , normalizeShellPath } from './features/terminal/utils' ;
60- import { PwshStartupProvider } from './features/terminal/shells/pwsh/pwshStartup' ;
61- import { ShellStartupActivationManagerImpl } from './features/terminal/shells/activateUsingShellStartup' ;
62- import {
63- BashStartupProvider ,
64- GitBashStartupProvider ,
65- ZshStartupProvider ,
66- } from './features/terminal/shells/bash/bashStartup' ;
67- import { FishStartupProvider } from './features/terminal/shells/fishStartup' ;
68- import { isWindows } from './common/utils/platformUtils' ;
69- import { CmdStartupProvider } from './features/terminal/shells/cmdStartup' ;
59+ import { EnvironmentManagers , ProjectCreators , PythonProjectManager } from './internal.api' ;
60+ import { registerSystemPythonFeatures } from './managers/builtin/main' ;
61+ import { createNativePythonFinder , NativePythonFinder } from './managers/common/nativePythonFinder' ;
62+ import { registerCondaFeatures } from './managers/conda/main' ;
7063
7164export async function activate ( context : ExtensionContext ) : Promise < PythonEnvironmentApi > {
7265 const start = new StopWatch ( ) ;
@@ -93,15 +86,14 @@ export async function activate(context: ExtensionContext): Promise<PythonEnviron
9386 context . subscriptions . push ( envManagers ) ;
9487
9588 const terminalActivation = new TerminalActivationImpl ( ) ;
96- const shellStartupProviders = isWindows ( )
97- ? [ new PwshStartupProvider ( ) , new GitBashStartupProvider ( ) , new CmdStartupProvider ( ) ]
98- : [ new PwshStartupProvider ( ) , new BashStartupProvider ( ) , new ZshStartupProvider ( ) , new FishStartupProvider ( ) ] ;
89+ const shellEnvsProviders = createShellEnvProviders ( ) ;
90+ const shellStartupProviders = createShellStartupProviders ( ) ;
9991 const shellStartupActivationManager = new ShellStartupActivationManagerImpl (
10092 context . environmentVariableCollection ,
10193 shellStartupProviders ,
10294 envManagers ,
10395 ) ;
104- const terminalManager : TerminalManager = new TerminalManagerImpl ( terminalActivation , shellStartupProviders ) ;
96+ const terminalManager : TerminalManager = new TerminalManagerImpl ( terminalActivation , shellEnvsProviders ) ;
10597 context . subscriptions . push ( terminalActivation , terminalManager , shellStartupActivationManager ) ;
10698
10799 const projectCreators : ProjectCreators = new ProjectCreatorsImpl ( ) ;
0 commit comments