File tree Expand file tree Collapse file tree
src/vs/workbench/contrib/notebook Expand file tree Collapse file tree Original file line number Diff line number Diff 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 }
Original file line number Diff line number Diff 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 ;
Original file line number Diff line number Diff 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 ;
Original file line number Diff line number Diff 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 ;
You can’t perform that action at this time.
0 commit comments