diff --git a/extensions/notebook/package.nls.json b/extensions/notebook/package.nls.json index 4334f80597..dbe9f95c14 100644 --- a/extensions/notebook/package.nls.json +++ b/extensions/notebook/package.nls.json @@ -3,7 +3,7 @@ "description": "Defines the Data-procotol based Notebook contribution and many Notebook commands and contributions.", "notebook.configuration.title": "Notebook configuration", "notebook.pythonPath.description": "Local path to python installation used by Notebooks.", - "notebook.sqlKernelEnabled.description": "Enable SQL kernel in notebook editor (Preview)", + "notebook.sqlKernelEnabled.description": "Enable SQL kernel in notebook editor (Preview). Requires reloading this window to take effect", "notebook.command.new": "New Notebook", "notebook.command.open": "Open Notebook" } \ No newline at end of file diff --git a/src/sql/parts/notebook/models/notebookModel.ts b/src/sql/parts/notebook/models/notebookModel.ts index 2a2d70faf3..2b721f2dfc 100644 --- a/src/sql/parts/notebook/models/notebookModel.ts +++ b/src/sql/parts/notebook/models/notebookModel.ts @@ -93,7 +93,13 @@ export class NotebookModel extends Disposable implements INotebookModel { } public get notebookManager(): INotebookManager { - return this.notebookManagers.find(manager => manager.providerId === this._providerId); + let manager = this.notebookManagers.find(manager => manager.providerId === this._providerId); + if (!manager) { + // Note: this seems like a less than ideal scenario. We should ideally pass in the "correct" provider ID and allow there to be a default, + // instead of assuming in the NotebookModel constructor that the option is either SQL or Jupyter + manager = this.notebookManagers.find(manager => manager.providerId === DEFAULT_NOTEBOOK_PROVIDER); + } + return manager; } public get notebookUri(): URI { diff --git a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts index ae1457085f..b761a3a39c 100644 --- a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts +++ b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts @@ -17,7 +17,7 @@ import { import { RenderMimeRegistry } from 'sql/parts/notebook/outputs/registry'; import { standardRendererFactories } from 'sql/parts/notebook/outputs/factories'; import { LocalContentManager } from 'sql/workbench/services/notebook/node/localContentManager'; -import { SessionManager } from 'sql/workbench/services/notebook/common/sessionManager'; +import { SessionManager, noKernel } from 'sql/workbench/services/notebook/common/sessionManager'; import { Extensions, INotebookProviderRegistry, NotebookProviderRegistration } from 'sql/workbench/services/notebook/common/notebookRegistry'; import { Emitter, Event } from 'vs/base/common/event'; import { Memento } from 'vs/workbench/common/memento'; @@ -359,7 +359,7 @@ export class NotebookService extends Disposable implements INotebookService { notebookRegistry.registerNotebookProvider({ provider: defaultProvider.providerId, fileExtensions: DEFAULT_NOTEBOOK_FILETYPE, - standardKernels: [] + standardKernels: { name: noKernel, connectionProviderIds: [] } }); } else { let sqlProvider = new SqlNotebookProvider(this._instantiationService);