mirror of
https://github.com/Microsoft/vscode
synced 2024-09-13 21:55:38 +00:00
don't attempt to update a document that doesn't exist yet when pre selecting the kernel
This commit is contained in:
parent
7ca80515bd
commit
1d111bf898
|
@ -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' });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue