Skip to content

Commit 46dafc1

Browse files
committed
Updatees
1 parent 28e1329 commit 46dafc1

File tree

4 files changed

+24
-29
lines changed

4 files changed

+24
-29
lines changed

src/client/extensionActivation.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import { DebugService } from './common/application/debugService';
4545
import { DebugSessionEventDispatcher } from './debugger/extension/hooks/eventHandlerDispatcher';
4646
import { IDebugSessionEventHandlers } from './debugger/extension/hooks/types';
4747
import { WorkspaceService } from './common/application/workspace';
48-
import { IInterpreterQuickPick, IRecommendedEnvironmentService } from './interpreter/configuration/types';
48+
import { IInterpreterQuickPick, IPythonPathUpdaterServiceManager } from './interpreter/configuration/types';
4949
import { registerAllCreateEnvironmentFeatures } from './pythonEnvironments/creation/registrations';
5050
import { registerCreateEnvironmentTriggers } from './pythonEnvironments/creation/createEnvironmentTrigger';
5151
import { initializePersistentStateForTriggers } from './common/persistentState';
@@ -108,10 +108,9 @@ export function activateFeatures(ext: ExtensionState, _components: Components):
108108
registerAllCreateEnvironmentFeatures(
109109
ext.disposables,
110110
interpreterQuickPick,
111-
interpreterPathService,
111+
ext.legacyIOC.serviceContainer.get<IPythonPathUpdaterServiceManager>(IPythonPathUpdaterServiceManager),
112112
interpreterService,
113113
pathUtils,
114-
ext.legacyIOC.serviceContainer.get<IRecommendedEnvironmentService>(IRecommendedEnvironmentService),
115114
);
116115
const executionHelper = ext.legacyIOC.serviceContainer.get<ICodeExecutionHelper>(ICodeExecutionHelper);
117116
const commandManager = ext.legacyIOC.serviceContainer.get<ICommandManager>(ICommandManager);

src/client/pythonEnvironments/creation/createEnvApi.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
import { ConfigurationTarget, Disposable, QuickInputButtons } from 'vscode';
55
import { Commands } from '../../common/constants';
6-
import { IDisposableRegistry, IInterpreterPathService, IPathUtils } from '../../common/types';
6+
import { IDisposableRegistry, IPathUtils } from '../../common/types';
77
import { executeCommand, registerCommand } from '../../common/vscodeApis/commandApis';
8-
import { IInterpreterQuickPick, IRecommendedEnvironmentService } from '../../interpreter/configuration/types';
8+
import { IInterpreterQuickPick, IPythonPathUpdaterServiceManager } from '../../interpreter/configuration/types';
99
import { getCreationEvents, handleCreateEnvironmentCommand } from './createEnvironment';
1010
import { condaCreationProvider } from './provider/condaCreationProvider';
1111
import { VenvCreationProvider } from './provider/venvCreationProvider';
@@ -61,9 +61,8 @@ export const { onCreateEnvironmentStarted, onCreateEnvironmentExited, isCreating
6161
export function registerCreateEnvironmentFeatures(
6262
disposables: IDisposableRegistry,
6363
interpreterQuickPick: IInterpreterQuickPick,
64-
interpreterPathService: IInterpreterPathService,
64+
pythonPathUpdater: IPythonPathUpdaterServiceManager,
6565
pathUtils: IPathUtils,
66-
recommededEnvService: IRecommendedEnvironmentService,
6766
): void {
6867
disposables.push(
6968
registerCommand(
@@ -104,12 +103,12 @@ export function registerCreateEnvironmentFeatures(
104103
registerCreateEnvironmentProvider(condaCreationProvider()),
105104
onCreateEnvironmentExited(async (e: EnvironmentDidCreateEvent) => {
106105
if (e.path && e.options?.selectEnvironment) {
107-
await interpreterPathService.update(
108-
e.workspaceFolder?.uri,
109-
ConfigurationTarget.WorkspaceFolder,
106+
await pythonPathUpdater.updatePythonPath(
110107
e.path,
108+
ConfigurationTarget.WorkspaceFolder,
109+
'ui',
110+
e.workspaceFolder?.uri,
111111
);
112-
recommededEnvService.trackUserSelectedEnvironment(e.path, e.workspaceFolder?.uri);
113112
showInformationMessage(`${CreateEnv.informEnvCreation} ${pathUtils.getDisplayName(e.path)}`);
114113
}
115114
}),

src/client/pythonEnvironments/creation/registrations.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33

4-
import { IDisposableRegistry, IInterpreterPathService, IPathUtils } from '../../common/types';
5-
import { IInterpreterQuickPick, IRecommendedEnvironmentService } from '../../interpreter/configuration/types';
4+
import { IDisposableRegistry, IPathUtils } from '../../common/types';
5+
import { IInterpreterQuickPick, IPythonPathUpdaterServiceManager } from '../../interpreter/configuration/types';
66
import { IInterpreterService } from '../../interpreter/contracts';
77
import { registerCreateEnvironmentFeatures } from './createEnvApi';
88
import { registerCreateEnvironmentButtonFeatures } from './createEnvButtonContext';
@@ -13,12 +13,11 @@ import { registerPyProjectTomlFeatures } from './pyProjectTomlContext';
1313
export function registerAllCreateEnvironmentFeatures(
1414
disposables: IDisposableRegistry,
1515
interpreterQuickPick: IInterpreterQuickPick,
16-
interpreterPathService: IInterpreterPathService,
16+
pythonPathUpdater: IPythonPathUpdaterServiceManager,
1717
interpreterService: IInterpreterService,
1818
pathUtils: IPathUtils,
19-
recommededEnvService: IRecommendedEnvironmentService
2019
): void {
21-
registerCreateEnvironmentFeatures(disposables, interpreterQuickPick, interpreterPathService, pathUtils, recommededEnvService);
20+
registerCreateEnvironmentFeatures(disposables, interpreterQuickPick, pythonPathUpdater, pathUtils);
2221
registerCreateEnvironmentButtonFeatures(disposables);
2322
registerPyProjectTomlFeatures(disposables);
2423
registerInstalledPackagesDiagnosticsProvider(disposables, interpreterService);

src/test/pythonEnvironments/creation/createEnvApi.unit.test.ts

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ import * as sinon from 'sinon';
77
import * as typemoq from 'typemoq';
88
import { assert, use as chaiUse } from 'chai';
99
import { ConfigurationTarget, Uri } from 'vscode';
10-
import { IDisposableRegistry, IInterpreterPathService, IPathUtils } from '../../../client/common/types';
10+
import { IDisposableRegistry, IPathUtils } from '../../../client/common/types';
1111
import * as commandApis from '../../../client/common/vscodeApis/commandApis';
12-
import { IInterpreterQuickPick } from '../../../client/interpreter/configuration/types';
12+
import {
13+
IInterpreterQuickPick,
14+
IPythonPathUpdaterServiceManager,
15+
} from '../../../client/interpreter/configuration/types';
1316
import { registerCreateEnvironmentFeatures } from '../../../client/pythonEnvironments/creation/createEnvApi';
1417
import * as windowApis from '../../../client/common/vscodeApis/windowApis';
1518
import { handleCreateEnvironmentCommand } from '../../../client/pythonEnvironments/creation/createEnvironment';
1619
import { CreateEnvironmentProvider } from '../../../client/pythonEnvironments/creation/proposed.createEnvApis';
17-
import { noop } from '../../core';
1820

1921
chaiUse(chaiAsPromised.default);
2022

@@ -24,7 +26,7 @@ suite('Create Environment APIs', () => {
2426
let showInformationMessageStub: sinon.SinonStub;
2527
const disposables: IDisposableRegistry = [];
2628
let interpreterQuickPick: typemoq.IMock<IInterpreterQuickPick>;
27-
let interpreterPathService: typemoq.IMock<IInterpreterPathService>;
29+
let interpreterPathService: typemoq.IMock<IPythonPathUpdaterServiceManager>;
2830
let pathUtils: typemoq.IMock<IPathUtils>;
2931

3032
setup(() => {
@@ -33,7 +35,7 @@ suite('Create Environment APIs', () => {
3335

3436
registerCommandStub = sinon.stub(commandApis, 'registerCommand');
3537
interpreterQuickPick = typemoq.Mock.ofType<IInterpreterQuickPick>();
36-
interpreterPathService = typemoq.Mock.ofType<IInterpreterPathService>();
38+
interpreterPathService = typemoq.Mock.ofType<IPythonPathUpdaterServiceManager>();
3739
pathUtils = typemoq.Mock.ofType<IPathUtils>();
3840

3941
registerCommandStub.callsFake((_command: string, _callback: (...args: any[]) => any) => ({
@@ -49,11 +51,6 @@ suite('Create Environment APIs', () => {
4951
interpreterQuickPick.object,
5052
interpreterPathService.object,
5153
pathUtils.object,
52-
{
53-
getRecommededEnvironment: () => Promise.resolve(undefined),
54-
registerEnvApi: noop,
55-
trackUserSelectedEnvironment: noop,
56-
},
5754
);
5855
});
5956
teardown(() => {
@@ -88,10 +85,11 @@ suite('Create Environment APIs', () => {
8885

8986
interpreterPathService
9087
.setup((p) =>
91-
p.update(
92-
typemoq.It.isAny(),
93-
ConfigurationTarget.WorkspaceFolder,
88+
p.updatePythonPath(
9489
typemoq.It.isValue('/path/to/env'),
90+
ConfigurationTarget.WorkspaceFolder,
91+
'ui',
92+
typemoq.It.isAny(),
9593
),
9694
)
9795
.returns(() => Promise.resolve())

0 commit comments

Comments
 (0)