mirror of
https://github.com/Microsoft/vscode
synced 2024-09-19 10:40:41 +00:00
Merge branch 'notebook/dev' into main
This commit is contained in:
commit
3719898cb8
22
src/vs/vscode.proposed.d.ts
vendored
22
src/vs/vscode.proposed.d.ts
vendored
|
@ -1554,18 +1554,24 @@ declare module 'vscode' {
|
|||
readonly id: string;
|
||||
|
||||
/**
|
||||
* The selector allows to narrow down on specific notebook types or
|
||||
* instances.
|
||||
*
|
||||
* For instance `{ viewType: 'notebook.test' }` selects all notebook
|
||||
* documents of the type `notebook.test`, whereas `{ pattern: '/my/file/test.nb' }`
|
||||
* selects only the notebook with the path `/my/file/test.nb`.
|
||||
* The notebook view type this controller is for.
|
||||
*/
|
||||
readonly viewType: string;
|
||||
|
||||
/**
|
||||
* An array of language identifiers that are supported by this
|
||||
* controller. When falsy all languages are supported.
|
||||
* controller. Any language identifier from [`getLanguages`](#languages.getLanguages)
|
||||
* is possible. When falsy all languages are supported.
|
||||
*
|
||||
* Samples:
|
||||
* ```js
|
||||
* // support JavaScript and TypeScript
|
||||
* myController.supportedLanguages = ['javascript', 'typescript']
|
||||
*
|
||||
* // support all languages
|
||||
* myController.supportedLanguages = undefined; // falsy
|
||||
* myController.supportedLanguages = []; // falsy
|
||||
* ```
|
||||
*/
|
||||
supportedLanguages?: string[];
|
||||
|
||||
|
@ -1674,7 +1680,7 @@ declare module 'vscode' {
|
|||
* Creates a new notebook controller.
|
||||
*
|
||||
* @param id Extension-unique identifier of the controller
|
||||
* @param selector A notebook selector to narrow down notebook type or path
|
||||
* @param viewType A notebook type for which this controller is for.
|
||||
* @param label The label of the controller
|
||||
* @param handler
|
||||
* @param preloads
|
||||
|
|
|
@ -18,7 +18,7 @@ import { IModelService } from 'vs/editor/common/services/modelService';
|
|||
import { Schemas } from 'vs/base/common/network';
|
||||
import { isEqual } from 'vs/base/common/resources';
|
||||
import { IModeService } from 'vs/editor/common/services/modeService';
|
||||
import { ITextModel } from 'vs/editor/common/model';
|
||||
import { ITextBuffer, ITextModel } from 'vs/editor/common/model';
|
||||
import { TextModel } from 'vs/editor/common/model/textModel';
|
||||
|
||||
|
||||
|
@ -513,6 +513,9 @@ export class NotebookTextModel extends Disposable implements INotebookTextModel
|
|||
if (textModel && textModel instanceof TextModel) {
|
||||
cell.textModel = textModel;
|
||||
cell.language = cellDto.language;
|
||||
if (!cell.textModel.equalsTextBuffer(cell.textBuffer as ITextBuffer)) {
|
||||
cell.textModel.setValue(cellDto.source);
|
||||
}
|
||||
}
|
||||
const dirtyStateListener = cell.onDidChangeContent(() => {
|
||||
this._increaseVersionIdForCellContentChange();
|
||||
|
|
|
@ -59,7 +59,7 @@ suite('NotebookEditorKernelManager', () => {
|
|||
await withTestNotebook(
|
||||
[],
|
||||
async (viewModel) => {
|
||||
const kernelManager = instantiationService.createInstance(NotebookEditorKernelManager, { activeKernel: undefined, viewModel });
|
||||
const kernelManager = instantiationService.createInstance(NotebookEditorKernelManager);
|
||||
|
||||
const cell = viewModel.createCell(1, 'var c = 3', 'javascript', CellKind.Code, {}, [], true);
|
||||
await assertThrowsAsync(async () => await kernelManager.executeNotebookCell(cell));
|
||||
|
|
|
@ -140,7 +140,7 @@ suite('NotebookKernelService', () => {
|
|||
{
|
||||
// open as jupyter -> bind event
|
||||
const p1 = Event.toPromise(kernelService.onDidChangeNotebookKernelBinding);
|
||||
const d1 = instantiationService.createInstance(NotebookTextModel, jupyter.viewType, jupyter.uri, [], {});
|
||||
const d1 = instantiationService.createInstance(NotebookTextModel, jupyter.viewType, jupyter.uri, [], {}, {});
|
||||
onDidAddNotebookDocument.fire(d1);
|
||||
const event = await p1;
|
||||
assert.strictEqual(event.newKernel, jupyterKernel.id);
|
||||
|
@ -148,7 +148,7 @@ suite('NotebookKernelService', () => {
|
|||
{
|
||||
// RE-open as dotnet -> bind event
|
||||
const p2 = Event.toPromise(kernelService.onDidChangeNotebookKernelBinding);
|
||||
const d2 = instantiationService.createInstance(NotebookTextModel, dotnet.viewType, dotnet.uri, [], {});
|
||||
const d2 = instantiationService.createInstance(NotebookTextModel, dotnet.viewType, dotnet.uri, [], {}, {});
|
||||
onDidAddNotebookDocument.fire(d2);
|
||||
const event2 = await p2;
|
||||
assert.strictEqual(event2.newKernel, dotnetKernel.id);
|
||||
|
|
Loading…
Reference in a new issue