Skip to content

Commit 4a1a4ae

Browse files
committed
available kernels
1 parent 29ef70b commit 4a1a4ae

4 files changed

Lines changed: 28 additions & 3 deletions

File tree

src/vs/workbench/contrib/notebook/browser/contrib/status/editorStatus.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,26 @@ export class KernelStatus extends Disposable implements IWorkbenchContribution {
166166

167167
const activeEditor = getActiveNotebookEditor(this._editorService);
168168

169-
if (activeEditor && activeEditor.multipleKernelsAvailable) {
170-
this.showKernelStatus(activeEditor.activeKernel);
169+
if (activeEditor) {
171170
this._editorDisposable.add(activeEditor.onDidChangeKernel(() => {
172171
if (activeEditor.multipleKernelsAvailable) {
173172
this.showKernelStatus(activeEditor.activeKernel);
174173
} else {
175174
this.kernelInfoElement.clear();
176175
}
177176
}));
177+
178+
this._editorDisposable.add(activeEditor.onDidChangeAvailableKernels(() => {
179+
if (activeEditor.multipleKernelsAvailable) {
180+
this.showKernelStatus(activeEditor.activeKernel);
181+
} else {
182+
this.kernelInfoElement.clear();
183+
}
184+
}));
185+
}
186+
187+
if (activeEditor && activeEditor.multipleKernelsAvailable) {
188+
this.showKernelStatus(activeEditor.activeKernel);
178189
} else {
179190
this.kernelInfoElement.clear();
180191
}

src/vs/workbench/contrib/notebook/browser/notebookBrowser.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ export interface INotebookEditor extends IEditor {
180180
isNotebookEditor: boolean;
181181
activeKernel: INotebookKernelInfo | INotebookKernelInfo2 | undefined;
182182
multipleKernelsAvailable: boolean;
183+
readonly onDidChangeAvailableKernels: Event<void>;
183184
readonly onDidChangeKernel: Event<void>;
184185

185186
isDisposed: boolean;

src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
139139
private _activeKernel: INotebookKernelInfo | INotebookKernelInfo2 | undefined = undefined;
140140
private readonly _onDidChangeKernel = this._register(new Emitter<void>());
141141
readonly onDidChangeKernel: Event<void> = this._onDidChangeKernel.event;
142+
private readonly _onDidChangeAvailableKernels = this._register(new Emitter<void>());
143+
readonly onDidChangeAvailableKernels: Event<void> = this._onDidChangeAvailableKernels.event;
142144

143145
get activeKernel() {
144146
return this._activeKernel;
@@ -154,7 +156,16 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
154156
}
155157

156158
private _currentKernelTokenSource: CancellationTokenSource | undefined = undefined;
157-
multipleKernelsAvailable: boolean = false;
159+
private _multipleKernelsAvailable: boolean = false;
160+
161+
get multipleKernelsAvailable() {
162+
return this._multipleKernelsAvailable;
163+
}
164+
165+
set multipleKernelsAvailable(state: boolean) {
166+
this._multipleKernelsAvailable = state;
167+
this._onDidChangeAvailableKernels.fire();
168+
}
158169

159170
private readonly _onDidChangeActiveEditor = this._register(new Emitter<this>());
160171
readonly onDidChangeActiveEditor: Event<this> = this._onDidChangeActiveEditor.event;

src/vs/workbench/contrib/notebook/test/testNotebookEditor.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ export class TestNotebookEditor implements INotebookEditor {
6363
) { }
6464

6565
multipleKernelsAvailable: boolean = false;
66+
onDidChangeAvailableKernels: Event<void> = new Emitter<void>().event;
67+
6668

6769
uri?: URI | undefined;
6870
textModel?: NotebookTextModel | undefined;

0 commit comments

Comments
 (0)