Skip to content

Commit

Permalink
Merge pull request #142751 from amunger/preSelectKernelforIW
Browse files Browse the repository at this point in the history
don't attempt to update a document that doesn't exist yet
  • Loading branch information
rebornix committed Feb 10, 2022
2 parents a3b972b + 1d111bf commit f8d80c9
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 1 deletion.
Expand Up @@ -386,7 +386,7 @@ registerAction2(class extends Action2 {
const allKernels = kernelService.getMatchingKernel({ uri: notebookUri, viewType: 'interactive' }).all;
const preferredKernel = allKernels.find(kernel => kernel.id === id);
if (preferredKernel) {
kernelService.selectKernelForNotebook(preferredKernel, { uri: notebookUri, viewType: 'interactive' });
kernelService.preselectKernelForNotebook(preferredKernel, { uri: notebookUri, viewType: 'interactive' });
}
}

Expand Down
Expand Up @@ -225,6 +225,15 @@ export class NotebookKernelService extends Disposable implements INotebookKernel
}
}

preselectKernelForNotebook(kernel: INotebookKernel, notebook: INotebookTextModelLike): void {
const key = NotebookTextModelLikeId.str(notebook);
const oldKernel = this._notebookBindings.get(key);
if (oldKernel !== kernel?.id) {
this._notebookBindings.set(key, kernel.id);
this._persistMementos();
}
}

updateKernelNotebookAffinity(kernel: INotebookKernel, notebook: URI, preference: number | undefined): void {
const info = this._kernels.get(kernel.id);
if (!info) {
Expand Down
Expand Up @@ -81,6 +81,11 @@ export interface INotebookKernelService {
*/
selectKernelForNotebook(kernel: INotebookKernel, notebook: INotebookTextModelLike): void;

/**
* Set the kernel that a notebook should use when it starts up
*/
preselectKernelForNotebook(kernel: INotebookKernel, notebook: INotebookTextModelLike): void;

/**
* Bind a notebook type to a kernel.
* @param viewType
Expand Down

0 comments on commit f8d80c9

Please sign in to comment.