mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-01 09:35:41 -05:00
Add notebook extension support for .NET Interactive. (#18334)
* Also updated kernel dropdown to only include SQL aliased kernels when using SQL notebook provider.
This commit is contained in:
@@ -50,7 +50,6 @@ import { throwProposedApiError, checkProposedApiEnabled } from 'vs/workbench/ser
|
||||
import { ProxyIdentifier } from 'vs/workbench/services/extensions/common/proxyIdentifier';
|
||||
import { ExtensionDescriptionRegistry } from 'vs/workbench/services/extensions/common/extensionDescriptionRegistry';
|
||||
import type * as vscode from 'vscode';
|
||||
import type * as azdata from 'azdata';
|
||||
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
|
||||
import { values } from 'vs/base/common/collections';
|
||||
import { ExtHostEditorInsets } from 'vs/workbench/api/common/extHostCodeInsets';
|
||||
@@ -93,12 +92,12 @@ import { matchesScheme } from 'vs/platform/opener/common/opener';
|
||||
// import { ExtHostNotebookDocuments } from 'vs/workbench/api/common/extHostNotebookDocuments'; {{SQL CARBON EDIT}} Disable VS Code notebooks
|
||||
// import { ExtHostInteractive } from 'vs/workbench/api/common/extHostInteractive'; {{SQL CARBON EDIT}} Remove until we need it
|
||||
import { ExtHostNotebook } from 'sql/workbench/api/common/extHostNotebook';
|
||||
import { functionalityNotSupportedError, invalidArgumentsError } from 'sql/base/common/locConstants';
|
||||
import { docCreationFailedError, functionalityNotSupportedError, invalidArgumentsError } from 'sql/base/common/locConstants';
|
||||
import { ExtHostNotebookDocumentsAndEditors } from 'sql/workbench/api/common/extHostNotebookDocumentsAndEditors';
|
||||
import { VSCodeNotebookDocument } from 'sql/workbench/api/common/notebooks/vscodeNotebookDocument';
|
||||
import { VSCodeNotebookEditor } from 'sql/workbench/api/common/notebooks/vscodeNotebookEditor';
|
||||
import { convertToADSNotebookContents } from 'sql/workbench/api/common/notebooks/notebookUtils';
|
||||
import { IdGenerator } from 'vs/base/common/idGenerator';
|
||||
import { convertToADSNotebookContents } from 'sql/workbench/api/common/notebooks/notebookUtils';
|
||||
|
||||
export interface IExtensionApiFactory {
|
||||
(extension: IExtensionDescription, registry: ExtensionDescriptionRegistry, configProvider: ExtHostConfigProvider): typeof vscode;
|
||||
@@ -893,16 +892,19 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor, ex
|
||||
},
|
||||
async openNotebookDocument(uriOrType?: URI | string, content?: vscode.NotebookData): Promise<vscode.NotebookDocument> {
|
||||
// {{SQL CARBON EDIT}} Use our own notebooks
|
||||
let doc: azdata.nb.NotebookDocument;
|
||||
let uri: URI;
|
||||
if (URI.isUri(uriOrType)) {
|
||||
let editor = await extHostNotebookDocumentsAndEditors.showNotebookDocument(uriOrType, {});
|
||||
doc = editor.document;
|
||||
uri = uriOrType;
|
||||
await extHostNotebookDocumentsAndEditors.openNotebookDocument(uriOrType);
|
||||
} else if (typeof uriOrType === 'string') {
|
||||
let convertedContents = convertToADSNotebookContents(content);
|
||||
doc = await extHostNotebookDocumentsAndEditors.createNotebookDocument(uriOrType, convertedContents);
|
||||
uri = URI.revive(await extHostNotebookDocumentsAndEditors.createNotebookDocument(uriOrType, convertToADSNotebookContents(content)));
|
||||
} else {
|
||||
throw new Error(invalidArgumentsError);
|
||||
}
|
||||
let doc = extHostNotebookDocumentsAndEditors.getDocument(uri.toString())?.document;
|
||||
if (!doc) {
|
||||
throw new Error(docCreationFailedError);
|
||||
}
|
||||
return new VSCodeNotebookDocument(doc);
|
||||
},
|
||||
get onDidOpenNotebookDocument(): Event<vscode.NotebookDocument> {
|
||||
|
||||
Reference in New Issue
Block a user