mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-23 01:25:38 -05:00
Fix issues with loading aliased kernels in notebooks (#21018)
This commit is contained in:
@@ -84,6 +84,7 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
private _contextsLoadingEmitter = new Emitter<void>();
|
||||
private _contentChangedEmitter = new Emitter<NotebookContentChange>();
|
||||
private _kernelsChangedEmitter = new Emitter<nb.IKernel>();
|
||||
private _kernelsAddedEmitter = new Emitter<nb.IKernel>();
|
||||
private _kernelChangedEmitter = new Emitter<nb.IKernelChangedArgs>();
|
||||
private _viewModeChangedEmitter = new Emitter<ViewMode>();
|
||||
private _layoutChanged = new Emitter<void>();
|
||||
@@ -187,7 +188,7 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
let manager = await this._notebookService.getOrCreateExecuteManager(kernels[0].notebookProvider, this.notebookUri);
|
||||
this._notebookOptions.executeManagers.push(manager);
|
||||
|
||||
this._kernelsChangedEmitter.fire(this._activeClientSession?.kernel);
|
||||
this._kernelsAddedEmitter.fire(this._activeClientSession?.kernel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,6 +257,9 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
return this._activeClientSession;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event that gets fired after the kernel is changed from starting a session or selecting one from the kernel dropdown.
|
||||
*/
|
||||
public get kernelChanged(): Event<nb.IKernelChangedArgs> {
|
||||
return this._kernelChangedEmitter.event;
|
||||
}
|
||||
@@ -264,6 +268,13 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
return this._kernelsChangedEmitter.event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event that gets fired when new kernels are added to the model from new notebook providers in the registry.
|
||||
*/
|
||||
public get kernelsAdded(): Event<nb.IKernel> {
|
||||
return this._kernelsAddedEmitter.event;
|
||||
}
|
||||
|
||||
public get layoutChanged(): Event<void> {
|
||||
return this._layoutChanged.event;
|
||||
}
|
||||
@@ -1279,7 +1290,9 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
|
||||
private async updateKernelInfoOnKernelChange(kernel: nb.IKernel, kernelAlias?: string) {
|
||||
await this.updateKernelInfo(kernel);
|
||||
kernelAlias = this.kernelAliases.find(kernel => this._defaultLanguageInfo?.name === kernel.toLowerCase()) ?? kernelAlias;
|
||||
if (!kernelAlias) {
|
||||
kernelAlias = this.kernelAliases.find(k => this._defaultLanguageInfo?.name === k.toLowerCase());
|
||||
}
|
||||
// In order to change from kernel alias to other kernel, set kernelAlias to undefined in order to update to new kernel language info
|
||||
if (this._selectedKernelDisplayName !== kernelAlias && this._selectedKernelDisplayName) {
|
||||
kernelAlias = undefined;
|
||||
|
||||
Reference in New Issue
Block a user