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