Skip to content

Commit e0fb716

Browse files
committed
Fixes
1 parent c11e24a commit e0fb716

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

src/client/datascience/jupyter/kernels/kernelSelections.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ import { IKernelSelectionListProvider, IKernelSpecQuickPickItem } from './types'
1616
/**
1717
* Given a kernel spec, this will return a quick pick item with appropriate display names and the like.
1818
*
19+
* @param {boolean} activeKernel Whether this is an active kernel in a jupyter session.
1920
* @param {IJupyterKernelSpec} kernelSpec
2021
* @returns {IKernelSpecQuickPickItem}
2122
*/
22-
function getQuickPickFromKernelSpec(kernelSpec: IJupyterKernelSpec): IKernelSpecQuickPickItem {
23+
function getQuickPickFromKernelSpec(activeKernel: boolean, kernelSpec: IJupyterKernelSpec): IKernelSpecQuickPickItem {
2324
return {
24-
label: kernelSpec.display_name || kernelSpec.name || '',
25-
description: '',
25+
label: kernelSpec.display_name,
26+
description: activeKernel ? '(active kernel)' : '(kernel)',
2627
selection: { kernelSpec: kernelSpec, interpreter: undefined }
2728
};
2829
}
@@ -38,7 +39,7 @@ export class ActiveJupyterSessionKernelSelectionListProvider implements IKernelS
3839
constructor(private readonly session: IJupyterSessionManager) {}
3940
public async getKernelSelections(_cancelToken?: CancellationToken | undefined): Promise<IKernelSpecQuickPickItem[]> {
4041
const items = await this.session.getActiveKernelSpecs();
41-
return items.filter(item => item.display_name || item.name).map(getQuickPickFromKernelSpec);
42+
return items.filter(item => item.display_name || item.name).map(getQuickPickFromKernelSpec.bind(undefined, true));
4243
}
4344
}
4445

@@ -53,7 +54,7 @@ export class JupyterKernelSelectionListProvider implements IKernelSelectionListP
5354
constructor(private readonly kernelService: KernelService) {}
5455
public async getKernelSelections(cancelToken?: CancellationToken | undefined): Promise<IKernelSpecQuickPickItem[]> {
5556
const items = await this.kernelService.getLocalKernelSpecs(cancelToken);
56-
return items.filter(item => item.display_name || item.name).map(getQuickPickFromKernelSpec);
57+
return items.filter(item => item.display_name || item.name).map(getQuickPickFromKernelSpec.bind(undefined, false));
5758
}
5859
}
5960

@@ -71,6 +72,7 @@ export class InterpreterKernelSelectionListProvider implements IKernelSelectionL
7172
return items.map(item => {
7273
return {
7374
...item,
75+
description: '(register and use interpreter as kernel)',
7476
selection: { interpreter: item.interpreter, kernelSpec: undefined }
7577
};
7678
});

src/client/datascience/jupyter/kernels/kernelSelector.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ import { PythonInterpreter } from '../../../interpreter/contracts';
1313
import { IJupyterKernelSpec, IJupyterSessionManager } from '../../types';
1414
import { KernelSelectionProvider } from './kernelSelections';
1515
import { KernelService } from './kernelService';
16-
import { IKernelSelector } from './types';
1716

1817
@injectable()
19-
export class KernelSelector implements IKernelSelector {
18+
export class KernelSelector {
2019
constructor(
2120
@inject(KernelSelectionProvider) private readonly selectionProvider: KernelSelectionProvider,
2221
@inject(IApplicationShell) private readonly applicationShell: IApplicationShell,

src/client/datascience/jupyter/kernels/types.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ export interface IKernelSpecQuickPickItem extends QuickPickItem {
1818
selection: { kernelSpec: IJupyterKernelSpec; interpreter: undefined } | { kernelSpec: undefined; interpreter: PythonInterpreter };
1919
}
2020

21-
export interface IKernelSelector {
22-
selectRemoteKernel(session: IJupyterSessionManager, cancelToken?: CancellationToken): Promise<IJupyterKernelSpec | undefined>;
23-
selectLocalKernel(session?: IJupyterSessionManager, cancelToken?: CancellationToken): Promise<IJupyterKernelSpec | undefined>;
24-
}
25-
2621
export interface IKernelSelectionListProvider {
2722
getKernelSelections(cancelToken?: CancellationToken): Promise<IKernelSpecQuickPickItem[]>;
2823
}

src/client/datascience/serviceRegistry.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import { JupyterPasswordConnect } from './jupyter/jupyterPasswordConnect';
3838
import { JupyterServerFactory } from './jupyter/jupyterServerFactory';
3939
import { JupyterSessionManagerFactory } from './jupyter/jupyterSessionManagerFactory';
4040
import { JupyterVariables } from './jupyter/jupyterVariables';
41+
import { KernelSelector } from './jupyter/kernels/kernelSelector';
4142
import { PlotViewer } from './plotting/plotViewer';
4243
import { PlotViewerProvider } from './plotting/plotViewerProvider';
4344
import { StatusProvider } from './statusProvider';
@@ -76,6 +77,7 @@ import {
7677
IStatusProvider,
7778
IThemeFinder
7879
} from './types';
80+
import { KernelSelectionProvider } from './jupyter/kernels/kernelSelections';
7981

8082
export function registerTypes(serviceManager: IServiceManager) {
8183
serviceManager.addSingleton<IDataScienceCodeLensProvider>(IDataScienceCodeLensProvider, DataScienceCodeLensProvider);
@@ -121,4 +123,6 @@ export function registerTypes(serviceManager: IServiceManager) {
121123
serviceManager.addSingleton<IDebugLocationTracker>(IDebugLocationTracker, DebugLocationTrackerFactory);
122124
serviceManager.addSingleton<JupyterCommandFinder>(JupyterCommandFinder, JupyterCommandFinder);
123125
serviceManager.addSingleton<IExtensionSingleActivationService>(IExtensionSingleActivationService, Activation);
126+
serviceManager.addSingleton<KernelSelector>(KernelSelector, KernelSelector);
127+
serviceManager.addSingleton<KernelSelectionProvider>(KernelSelectionProvider, KernelSelectionProvider);
124128
}

0 commit comments

Comments
 (0)