File tree Expand file tree Collapse file tree 3 files changed +44
-4
lines changed
Expand file tree Collapse file tree 3 files changed +44
-4
lines changed Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import { inject, injectable } from 'inversify';
55import { Disposable , Event , EventEmitter } from 'vscode' ;
66import type {
77 notebook ,
8+ NotebookCellMetadata ,
89 NotebookCellsChangeEvent as VSCNotebookCellsChangeEvent ,
910 NotebookContentProvider ,
1011 NotebookDocument ,
@@ -96,8 +97,15 @@ export class VSCodeNotebook implements IVSCodeNotebook {
9697 this . canUseNotebookApi = true ;
9798 }
9899 }
99- public registerNotebookContentProvider ( notebookType : string , provider : NotebookContentProvider ) : Disposable {
100- return this . notebook . registerNotebookContentProvider ( notebookType , provider ) ;
100+ public registerNotebookContentProvider (
101+ notebookType : string ,
102+ provider : NotebookContentProvider ,
103+ options ?: {
104+ transientOutputs : boolean ;
105+ transientMetadata : { [ K in keyof NotebookCellMetadata ] ?: boolean } ;
106+ }
107+ ) : Disposable {
108+ return this . notebook . registerNotebookContentProvider ( notebookType , provider , options ) ;
101109 }
102110 public registerNotebookKernelProvider (
103111 selector : NotebookDocumentFilter ,
Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ import {
6060} from 'vscode' ;
6161import type {
6262 NotebookCellLanguageChangeEvent as VSCNotebookCellLanguageChangeEvent ,
63+ NotebookCellMetadata ,
6364 NotebookCellOutputsChangeEvent as VSCNotebookCellOutputsChangeEvent ,
6465 NotebookCellsChangeEvent as VSCNotebookCellsChangeEvent ,
6566 NotebookContentProvider ,
@@ -1541,7 +1542,22 @@ export interface IVSCodeNotebook {
15411542 readonly onDidChangeNotebookDocument : Event < NotebookCellChangedEvent > ;
15421543 readonly notebookEditors : Readonly < NotebookEditor [ ] > ;
15431544 readonly activeNotebookEditor : NotebookEditor | undefined ;
1544- registerNotebookContentProvider ( notebookType : string , provider : NotebookContentProvider ) : Disposable ;
1545+ registerNotebookContentProvider (
1546+ notebookType : string ,
1547+ provider : NotebookContentProvider ,
1548+ options ?: {
1549+ /**
1550+ * Controls if outputs change will trigger notebook document content change and if it will be used in the diff editor
1551+ * Default to false. If the content provider doesn't persisit the outputs in the file document, this should be set to true.
1552+ */
1553+ transientOutputs : boolean ;
1554+ /**
1555+ * Controls if a meetadata property change will trigger notebook document content change and if it will be used in the diff editor
1556+ * Default to false. If the content provider doesn't persisit a metadata property in the file document, it should be set to true.
1557+ */
1558+ transientMetadata : { [ K in keyof NotebookCellMetadata ] ?: boolean } ;
1559+ }
1560+ ) : Disposable ;
15451561
15461562 registerNotebookKernelProvider ( selector : NotebookDocumentFilter , provider : NotebookKernelProvider ) : Disposable ;
15471563}
Original file line number Diff line number Diff line change @@ -56,7 +56,23 @@ export class NotebookIntegration implements IExtensionSingleActivationService {
5656 }
5757 try {
5858 this . disposables . push (
59- this . vscNotebook . registerNotebookContentProvider ( JupyterNotebookView , this . notebookContentProvider )
59+ this . vscNotebook . registerNotebookContentProvider ( JupyterNotebookView , this . notebookContentProvider , {
60+ transientOutputs : false ,
61+ transientMetadata : {
62+ breakpointMargin : true ,
63+ editable : true ,
64+ hasExecutionOrder : true ,
65+ inputCollapsed : true ,
66+ lastRunDuration : true ,
67+ outputCollapsed : true ,
68+ runStartTime : true ,
69+ runnable : true ,
70+ executionOrder : false ,
71+ custom : false ,
72+ runState : false ,
73+ statusMessage : false
74+ }
75+ } )
6076 ) ;
6177 this . disposables . push (
6278 this . vscNotebook . registerNotebookKernelProvider (
You can’t perform that action at this time.
0 commit comments