Interface NotebookDocument

Represents a notebook which itself is a sequence of code or markup cells. Notebook documents are created from notebook data.

interface NotebookDocument {
    cellCount: number;
    isClosed: boolean;
    isDirty: boolean;
    isUntitled: boolean;
    metadata: {
        [key: string]: any;
    };
    notebookType: string;
    uri: Uri;
    version: number;
    cellAt(index): NotebookCell;
    getCells(range?): NotebookCell[];
    save(): Thenable<boolean>;
}

Properties

cellCount: number

The number of cells in the notebook.

isClosed: boolean

true if the notebook has been closed. A closed notebook isn't synchronized anymore and won't be re-used when the same resource is opened again.

isDirty: boolean

true if there are unpersisted changes.

isUntitled: boolean

Is this notebook representing an untitled file which has not been saved yet.

metadata: {
    [key: string]: any;
}

Arbitrary metadata for this notebook. Can be anything but must be JSON-stringifyable.

Type declaration

  • [key: string]: any
notebookType: string

The type of notebook.

uri: Uri

The associated uri for this notebook.

Note that most notebooks use the file-scheme, which means they are files on disk. However, not all notebooks are saved on disk and therefore the scheme must be checked before trying to access the underlying file or siblings on disk.

version: number

The version number of this notebook (it will strictly increase after each change, including undo/redo).

Methods

  • Save the document. The saving will be handled by the corresponding serializer.

    Returns Thenable<boolean>

    A promise that will resolve to true when the document has been saved. Will return false if the file was not dirty or when save failed.