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';
5
5
import { Disposable , Event , EventEmitter } from 'vscode' ;
6
6
import type {
7
7
notebook ,
8
+ NotebookCellMetadata ,
8
9
NotebookCellsChangeEvent as VSCNotebookCellsChangeEvent ,
9
10
NotebookContentProvider ,
10
11
NotebookDocument ,
@@ -96,8 +97,15 @@ export class VSCodeNotebook implements IVSCodeNotebook {
96
97
this . canUseNotebookApi = true ;
97
98
}
98
99
}
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 ) ;
101
109
}
102
110
public registerNotebookKernelProvider (
103
111
selector : NotebookDocumentFilter ,
Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ import {
60
60
} from 'vscode' ;
61
61
import type {
62
62
NotebookCellLanguageChangeEvent as VSCNotebookCellLanguageChangeEvent ,
63
+ NotebookCellMetadata ,
63
64
NotebookCellOutputsChangeEvent as VSCNotebookCellOutputsChangeEvent ,
64
65
NotebookCellsChangeEvent as VSCNotebookCellsChangeEvent ,
65
66
NotebookContentProvider ,
@@ -1541,7 +1542,22 @@ export interface IVSCodeNotebook {
1541
1542
readonly onDidChangeNotebookDocument : Event < NotebookCellChangedEvent > ;
1542
1543
readonly notebookEditors : Readonly < NotebookEditor [ ] > ;
1543
1544
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 ;
1545
1561
1546
1562
registerNotebookKernelProvider ( selector : NotebookDocumentFilter , provider : NotebookKernelProvider ) : Disposable ;
1547
1563
}
Original file line number Diff line number Diff line change @@ -56,7 +56,23 @@ export class NotebookIntegration implements IExtensionSingleActivationService {
56
56
}
57
57
try {
58
58
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
+ } )
60
76
) ;
61
77
this . disposables . push (
62
78
this . vscNotebook . registerNotebookKernelProvider (
You can’t perform that action at this time.
0 commit comments