You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
524 lines
33 KiB
524 lines
33 KiB
<!doctype html>
|
|
<html class="default no-js">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title>CustomEditorProvider | VS Code API 中文文档</title>
|
|
<meta name="description" content="Documentation for VS Code API 中文文档">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet" href="../assets/css/main.css">
|
|
<script async src="../assets/js/search.js" id="search-script"></script>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="tsd-page-toolbar">
|
|
<div class="container">
|
|
<div class="table-wrap">
|
|
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
|
|
<div class="field">
|
|
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
|
|
<input id="tsd-search-field" type="text" />
|
|
</div>
|
|
<ul class="results">
|
|
<li class="state loading">Preparing search index...</li>
|
|
<li class="state failure">The search index is not available</li>
|
|
</ul>
|
|
<a href="../index.html" class="title">VS Code API 中文文档</a>
|
|
</div>
|
|
<div class="table-cell" id="tsd-widgets">
|
|
<div id="tsd-filter">
|
|
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
|
|
<div class="tsd-filter-group">
|
|
<div class="tsd-select" id="tsd-filter-visibility">
|
|
<span class="tsd-select-label">All</span>
|
|
<ul class="tsd-select-list">
|
|
<li data-value="public">Public</li>
|
|
<li data-value="protected">Public/Protected</li>
|
|
<li data-value="private" class="selected">All</li>
|
|
</ul>
|
|
</div>
|
|
<input type="checkbox" id="tsd-filter-inherited" checked />
|
|
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
|
|
<input type="checkbox" id="tsd-filter-externals" checked />
|
|
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
|
|
</div>
|
|
</div>
|
|
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tsd-page-title">
|
|
<div class="container">
|
|
<ul class="tsd-breadcrumb">
|
|
<li>
|
|
<a href="../index.html">VS Code API 中文文档</a>
|
|
</li>
|
|
<li>
|
|
<a href="CustomEditorProvider.html">CustomEditorProvider</a>
|
|
</li>
|
|
</ul>
|
|
<h1>Interface CustomEditorProvider<T></h1>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="container container-main">
|
|
<div class="row">
|
|
<div class="col-8 col-content">
|
|
<section class="tsd-panel tsd-comment">
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Provider for editable custom editors that use a custom document model.</p>
|
|
</div>
|
|
<p>Custom editors use <a href="CustomDocument.html"><code>CustomDocument</code></a> as their document model instead of a <a href="TextDocument.html"><code>TextDocument</code></a>.
|
|
This gives extensions full control over actions such as edit, save, and backup.</p>
|
|
<p>You should use this type of custom editor when dealing with binary files or more complex scenarios. For simple
|
|
text based documents, use <a href="CustomTextEditorProvider.html"><code>CustomTextEditorProvider</code></a> instead.</p>
|
|
</div>
|
|
</section>
|
|
<section class="tsd-panel tsd-type-parameters">
|
|
<h3>Type parameters</h3>
|
|
<ul class="tsd-type-parameters">
|
|
<li>
|
|
<h4>T<span class="tsd-signature-symbol">: </span><a href="CustomDocument.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocument</a> = <a href="CustomDocument.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocument</a></h4>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Type of the custom document returned by this provider.</p>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-hierarchy">
|
|
<h3>Hierarchy</h3>
|
|
<ul class="tsd-hierarchy">
|
|
<li>
|
|
<a href="CustomReadonlyEditorProvider.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomReadonlyEditorProvider</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span>
|
|
<ul class="tsd-hierarchy">
|
|
<li>
|
|
<span class="target">CustomEditorProvider</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-index-group">
|
|
<h2>Index</h2>
|
|
<section class="tsd-panel tsd-index-panel">
|
|
<div class="tsd-index-content">
|
|
<section class="tsd-index-section ">
|
|
<h3>Methods</h3>
|
|
<ul class="tsd-index-list">
|
|
<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="CustomEditorProvider.html#openCustomDocument" class="tsd-kind-icon">open<wbr>Custom<wbr>Document</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="CustomEditorProvider.html#resolveCustomEditor" class="tsd-kind-icon">resolve<wbr>Custom<wbr>Editor</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="CustomEditorProvider.html#saveCustomDocument" class="tsd-kind-icon">save<wbr>Custom<wbr>Document</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="CustomEditorProvider.html#saveCustomDocumentAs" class="tsd-kind-icon">save<wbr>Custom<wbr>Document<wbr>As</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="CustomEditorProvider.html#revertCustomDocument" class="tsd-kind-icon">revert<wbr>Custom<wbr>Document</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="CustomEditorProvider.html#backupCustomDocument" class="tsd-kind-icon">backup<wbr>Custom<wbr>Document</a></li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-index-section ">
|
|
<h3>Properties</h3>
|
|
<ul class="tsd-index-list">
|
|
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="CustomEditorProvider.html#onDidChangeCustomDocument" class="tsd-kind-icon">on<wbr>Did<wbr>Change<wbr>Custom<wbr>Document</a></li>
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-member-group ">
|
|
<h2>Methods</h2>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
|
|
<a name="openCustomDocument" class="tsd-anchor"></a>
|
|
<h3>open<wbr>Custom<wbr>Document</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
|
|
<li class="tsd-signature tsd-kind-icon">open<wbr>Custom<wbr>Document<span class="tsd-signature-symbol">(</span>uri<span class="tsd-signature-symbol">: </span><a href="../classes/Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a>, openContext<span class="tsd-signature-symbol">: </span><a href="CustomDocumentOpenContext.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentOpenContext</a>, token<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol"> | </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<p>Inherited from <a href="CustomReadonlyEditorProvider.html">CustomReadonlyEditorProvider</a>.<a href="CustomReadonlyEditorProvider.html#openCustomDocument">openCustomDocument</a></p>
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api/blob/0adabba/vscode.d.ts#L7999">vscode.d.ts:7999</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Create a new document for a given resource.</p>
|
|
</div>
|
|
<p><code>openCustomDocument</code> is called when the first time an editor for a given resource is opened. The opened
|
|
document is then passed to <code>resolveCustomEditor</code> so that the editor can be shown to the user.</p>
|
|
<p>Already opened <code>CustomDocument</code> are re-used if the user opened additional editors. When all editors for a
|
|
given resource are closed, the <code>CustomDocument</code> is disposed of. Opening an editor at this point will
|
|
trigger another call to <code>openCustomDocument</code>.</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>uri: <a href="../classes/Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Uri of the document to open.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>openContext: <a href="CustomDocumentOpenContext.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentOpenContext</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Additional information about the opening custom document.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>token: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>A cancellation token that indicates the result is no longer needed.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">T</span><span class="tsd-signature-symbol"> | </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>The custom document.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
|
|
<a name="resolveCustomEditor" class="tsd-anchor"></a>
|
|
<h3>resolve<wbr>Custom<wbr>Editor</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
|
|
<li class="tsd-signature tsd-kind-icon">resolve<wbr>Custom<wbr>Editor<span class="tsd-signature-symbol">(</span>document<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, webviewPanel<span class="tsd-signature-symbol">: </span><a href="WebviewPanel.html" class="tsd-signature-type" data-tsd-kind="Interface">WebviewPanel</a>, token<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> | </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<p>Inherited from <a href="CustomReadonlyEditorProvider.html">CustomReadonlyEditorProvider</a>.<a href="CustomReadonlyEditorProvider.html#resolveCustomEditor">resolveCustomEditor</a></p>
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api/blob/0adabba/vscode.d.ts#L8018">vscode.d.ts:8018</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Resolve a custom editor for a given resource.</p>
|
|
</div>
|
|
<p>This is called whenever the user opens a new editor for this <code>CustomEditorProvider</code>.</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>document: <span class="tsd-signature-type">T</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Document for the resource being resolved.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>webviewPanel: <a href="WebviewPanel.html" class="tsd-signature-type" data-tsd-kind="Interface">WebviewPanel</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>The webview panel used to display the editor UI for this resource.</p>
|
|
<p>During resolve, the provider must fill in the initial html for the content webview panel and hook up all
|
|
the event listeners on it that it is interested in. The provider can also hold onto the <code>WebviewPanel</code> to
|
|
use later for example in a command. See <a href="WebviewPanel.html"><code>WebviewPanel</code></a> for additional details.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>token: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>A cancellation token that indicates the result is no longer needed.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> | </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>Optional thenable indicating that the custom editor has been resolved.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
|
|
<a name="saveCustomDocument" class="tsd-anchor"></a>
|
|
<h3>save<wbr>Custom<wbr>Document</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
|
<li class="tsd-signature tsd-kind-icon">save<wbr>Custom<wbr>Document<span class="tsd-signature-symbol">(</span>document<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, cancellation<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api/blob/0adabba/vscode.d.ts#L8070">vscode.d.ts:8070</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Save a custom document.</p>
|
|
</div>
|
|
<p>This method is invoked by the editor when the user saves a custom editor. This can happen when the user
|
|
triggers save while the custom editor is active, by commands such as <code>save all</code>, or by auto save if enabled.</p>
|
|
<p>To implement <code>save</code>, the implementer must persist the custom editor. This usually means writing the
|
|
file data for the custom document to disk. After <code>save</code> completes, any associated editor instances will
|
|
no longer be marked as dirty.</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>document: <span class="tsd-signature-type">T</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Document to save.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>cancellation: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Token that signals the save is no longer required (for example, if another save was triggered).</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>Thenable signaling that saving has completed.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
|
|
<a name="saveCustomDocumentAs" class="tsd-anchor"></a>
|
|
<h3>save<wbr>Custom<wbr>Document<wbr>As</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
|
<li class="tsd-signature tsd-kind-icon">save<wbr>Custom<wbr>Document<wbr>As<span class="tsd-signature-symbol">(</span>document<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, destination<span class="tsd-signature-symbol">: </span><a href="../classes/Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a>, cancellation<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api/blob/0adabba/vscode.d.ts#L8086">vscode.d.ts:8086</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Save a custom document to a different location.</p>
|
|
</div>
|
|
<p>This method is invoked by the editor when the user triggers 'save as' on a custom editor. The implementer must
|
|
persist the custom editor to <code>destination</code>.</p>
|
|
<p>When the user accepts save as, the current editor is be replaced by an non-dirty editor for the newly saved file.</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>document: <span class="tsd-signature-type">T</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Document to save.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>destination: <a href="../classes/Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Location to save to.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>cancellation: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Token that signals the save is no longer required.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>Thenable signaling that saving has completed.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
|
|
<a name="revertCustomDocument" class="tsd-anchor"></a>
|
|
<h3>revert<wbr>Custom<wbr>Document</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
|
<li class="tsd-signature tsd-kind-icon">revert<wbr>Custom<wbr>Document<span class="tsd-signature-symbol">(</span>document<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, cancellation<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api/blob/0adabba/vscode.d.ts#L8103">vscode.d.ts:8103</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Revert a custom document to its last saved state.</p>
|
|
</div>
|
|
<p>This method is invoked by the editor when the user triggers <code>File: Revert File</code> in a custom editor. (Note that
|
|
this is only used using the editor's <code>File: Revert File</code> command and not on a <code>git revert</code> of the file).</p>
|
|
<p>To implement <code>revert</code>, the implementer must make sure all editor instances (webviews) for <code>document</code>
|
|
are displaying the document in the same state is saved in. This usually means reloading the file from the
|
|
workspace.</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>document: <span class="tsd-signature-type">T</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Document to revert.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>cancellation: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Token that signals the revert is no longer required.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>Thenable signaling that the change has completed.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
|
|
<a name="backupCustomDocument" class="tsd-anchor"></a>
|
|
<h3>backup<wbr>Custom<wbr>Document</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
|
<li class="tsd-signature tsd-kind-icon">backup<wbr>Custom<wbr>Document<span class="tsd-signature-symbol">(</span>document<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, context<span class="tsd-signature-symbol">: </span><a href="CustomDocumentBackupContext.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentBackupContext</a>, cancellation<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><a href="CustomDocumentBackup.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentBackup</a><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api/blob/0adabba/vscode.d.ts#L8126">vscode.d.ts:8126</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Back up a dirty custom document.</p>
|
|
</div>
|
|
<p>Backups are used for hot exit and to prevent data loss. Your <code>backup</code> method should persist the resource in
|
|
its current state, i.e. with the edits applied. Most commonly this means saving the resource to disk in
|
|
the <code>ExtensionContext.storagePath</code>. When the editor reloads and your custom editor is opened for a resource,
|
|
your extension should first check to see if any backups exist for the resource. If there is a backup, your
|
|
extension should load the file contents from there instead of from the resource in the workspace.</p>
|
|
<p><code>backup</code> is triggered approximately one second after the user stops editing the document. If the user
|
|
rapidly edits the document, <code>backup</code> will not be invoked until the editing stops.</p>
|
|
<p><code>backup</code> is not invoked when <code>auto save</code> is enabled (since auto save already persists the resource).</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>document: <span class="tsd-signature-type">T</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Document to backup.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>context: <a href="CustomDocumentBackupContext.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentBackupContext</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Information that can be used to backup the document.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>cancellation: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Token that signals the current backup since a new backup is coming in. It is up to your
|
|
extension to decided how to respond to cancellation. If for example your extension is backing up a large file
|
|
in an operation that takes time to complete, your extension may decide to finish the ongoing backup rather
|
|
than cancelling it to ensure that the editor has some valid backup.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <a href="Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol"><</span><a href="CustomDocumentBackup.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentBackup</a><span class="tsd-signature-symbol">></span></h4>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-member-group ">
|
|
<h2>Properties</h2>
|
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
|
<a name="onDidChangeCustomDocument" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> on<wbr>Did<wbr>Change<wbr>Custom<wbr>Document</h3>
|
|
<div class="tsd-signature tsd-kind-icon">on<wbr>Did<wbr>Change<wbr>Custom<wbr>Document<span class="tsd-signature-symbol">:</span> <a href="Event.html" class="tsd-signature-type" data-tsd-kind="Interface">Event</a><span class="tsd-signature-symbol"><</span><a href="CustomDocumentEditEvent.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentEditEvent</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span><a href="Event.html" class="tsd-signature-type" data-tsd-kind="Interface">Event</a><span class="tsd-signature-symbol"><</span><a href="CustomDocumentContentChangeEvent.html" class="tsd-signature-type" data-tsd-kind="Interface">CustomDocumentContentChangeEvent</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></div>
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api/blob/0adabba/vscode.d.ts#L8053">vscode.d.ts:8053</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Signal that an edit has occurred inside a custom editor.</p>
|
|
</div>
|
|
<p>This event must be fired by your extension whenever an edit happens in a custom editor. An edit can be
|
|
anything from changing some text, to cropping an image, to reordering a list. Your extension is free to
|
|
define what an edit is and what data is stored on each edit.</p>
|
|
<p>Firing <code>onDidChange</code> causes the editors to be marked as being dirty. This is cleared when the user either
|
|
saves or reverts the file.</p>
|
|
<p>Editors that support undo/redo must fire a <code>CustomDocumentEditEvent</code> whenever an edit happens. This allows
|
|
users to undo and redo the edit using the editor's standard keyboard shortcuts. The editor will also mark
|
|
the editor as no longer being dirty if the user undoes all edits to the last saved state.</p>
|
|
<p>Editors that support editing but cannot use the editor's standard undo/redo mechanism must fire a <code>CustomDocumentContentChangeEvent</code>.
|
|
The only way for a user to clear the dirty state of an editor that does not support undo/redo is to either
|
|
<code>save</code> or <code>revert</code> the file.</p>
|
|
<p>An editor should only ever fire <code>CustomDocumentEditEvent</code> events, or only ever fire <code>CustomDocumentContentChangeEvent</code> events.</p>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
</div>
|
|
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
|
<nav class="tsd-navigation primary">
|
|
<ul>
|
|
<li class=" ">
|
|
<a href="../index.html">Exports</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<nav class="tsd-navigation secondary menu-sticky">
|
|
<ul class="before-current">
|
|
</ul>
|
|
<ul class="current">
|
|
<li class="current tsd-kind-interface tsd-has-type-parameter">
|
|
<a href="CustomEditorProvider.html" class="tsd-kind-icon">Custom<wbr>Editor<wbr>Provider</a>
|
|
<ul>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
|
|
<a href="CustomEditorProvider.html#openCustomDocument" class="tsd-kind-icon">open<wbr>Custom<wbr>Document</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
|
|
<a href="CustomEditorProvider.html#resolveCustomEditor" class="tsd-kind-icon">resolve<wbr>Custom<wbr>Editor</a>
|
|
</li>
|
|
<li class=" tsd-kind-property tsd-parent-kind-interface">
|
|
<a href="CustomEditorProvider.html#onDidChangeCustomDocument" class="tsd-kind-icon">on<wbr>Did<wbr>Change<wbr>Custom<wbr>Document</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface">
|
|
<a href="CustomEditorProvider.html#saveCustomDocument" class="tsd-kind-icon">save<wbr>Custom<wbr>Document</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface">
|
|
<a href="CustomEditorProvider.html#saveCustomDocumentAs" class="tsd-kind-icon">save<wbr>Custom<wbr>Document<wbr>As</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface">
|
|
<a href="CustomEditorProvider.html#revertCustomDocument" class="tsd-kind-icon">revert<wbr>Custom<wbr>Document</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface">
|
|
<a href="CustomEditorProvider.html#backupCustomDocument" class="tsd-kind-icon">backup<wbr>Custom<wbr>Document</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<ul class="after-current">
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<footer class="with-border-bottom">
|
|
<div class="container">
|
|
<h2>Legend</h2>
|
|
<div class="tsd-legend-group">
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
|
|
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
<div class="container tsd-generator">
|
|
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
|
|
</div>
|
|
<div class="overlay"></div>
|
|
<script src="../assets/js/main.js"></script>
|
|
</body>
|
|
</html> |