<!doctype html>
< html class = "default no-js" >
< head >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< title > CustomReadonlyEditorProvider | VS Code API 中文文档< / title >
< meta name = "description" content = "VS Code API 是一系列你可以在 Visual Studio Code 扩展中调用的 JavaScript API。这个站点列出了扩展开发者可以使用的所有 vscode api 中文文档。" >
< meta property = "og:site_name" content = "Vscode Api 中文文档" >
< meta property = "og:type" content = "docs" >
< meta property = "og:url" content = "https://vscode-api-cn.js.org/index.html" >
< meta property = "article:tag" content = "vscode" >
< meta property = "article:tag" content = "vscode api" >
< meta property = "article:tag" content = "vscode api 中文文档" >
< meta property = "article:tag" content = "vscode api 文档" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< link rel = "shortcut icon" href = "https://code.visualstudio.com/favicon.ico" sizes = "128x128" >
< link rel = "stylesheet" href = "../assets/css/main.css" >
< script async src = "../assets/js/search.js" id = "search-script" > < / script >
< script async src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7962287588031867" crossorigin = "anonymous" > < / script >
< script type = "text/javascript" >
(function (c, l, a, r, i, t, y) {
c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments) };
t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i;
y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
})(window, document, "clarity", "script", "g1cbw4nxoq");
< / script >
<!-- Google tag (gtag.js) -->
< script async src = "https://www.googletagmanager.com/gtag/js?id=G-T4TRRS1LB1" > < / script >
< script >
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-T4TRRS1LB1');
< / script >
< style >
.github-corner svg {
z-index: 1;
}
.github-corner:hover .octo-arm {
animation:octocat-wave 560ms ease-in-out
}
@keyframes octocat-wave {
0%,100%{transform:rotate(0)}
20%,60%{transform:rotate(-25deg)}
40%,80%{transform:rotate(10deg)}
}
@media (max-width:500px) {
.github-corner:hover
.octo-arm{animation:none}
.github-corner .octo-arm{
animation:octocat-wave 560ms ease-in-out
}
}
.container-main {
padding-bottom: 50px;
}
< / style >
< / 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 = "../modules.html" > VS Code API 中文文档< / a >
< / li >
< li >
< a href = "../modules/vscode.html" > vscode< / a >
< / li >
< li >
< a href = "vscode.CustomReadonlyEditorProvider.html" > CustomReadonlyEditorProvider< / a >
< / li >
< / ul >
< h1 > Interface CustomReadonlyEditorProvider< 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 readonly custom editors that use a custom document model.< / p >
< / div >
< p > Custom editors use < a href = "vscode.CustomDocument.html" > < code > CustomDocument< / code > < / a > as their document model instead of a < a href = "vscode.TextDocument.html" > < code > TextDocument< / code > < / a > .< / 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 = "vscode.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 = "vscode.CustomDocument.html" class = "tsd-signature-type" data-tsd-kind = "Interface" > CustomDocument< / a > = < a href = "vscode.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 > 层级< / h3 >
< ul class = "tsd-hierarchy" >
< li >
< span class = "target" > CustomReadonlyEditorProvider< / span >
< ul class = "tsd-hierarchy" >
< li >
< a href = "vscode.CustomEditorProvider.html" class = "tsd-signature-type" data-tsd-kind = "Interface" > CustomEditorProvider< / a >
< / li >
< / ul >
< / li >
< / ul >
< / section >
< section class = "tsd-panel-group tsd-index-group" >
< h2 > 索引< / h2 >
< section class = "tsd-panel tsd-index-panel" >
< div class = "tsd-index-content" >
< section class = "tsd-index-section " >
< h3 > Methods( 2) < / h3 >
< ul class = "tsd-index-list" >
< li class = "tsd-kind-method tsd-parent-kind-interface" > < a href = "vscode.CustomReadonlyEditorProvider.html#openCustomDocument" class = "tsd-kind-icon" > open< wbr > Custom< wbr > Document< / a > < / li >
< li class = "tsd-kind-method tsd-parent-kind-interface" > < a href = "vscode.CustomReadonlyEditorProvider.html#resolveCustomEditor" class = "tsd-kind-icon" > resolve< wbr > Custom< wbr > Editor< / a > < / li >
< / ul >
< / section >
< / div >
< / section >
< / section >
< section class = "tsd-panel-group tsd-member-group " >
< h2 > Methods( 2) < / h2 >
< section class = "tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface" >
< 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" >
< 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/vscode.Uri.html" class = "tsd-signature-type" data-tsd-kind = "Class" > Uri< / a > , openContext< span class = "tsd-signature-symbol" > : < / span > < a href = "vscode.CustomDocumentOpenContext.html" class = "tsd-signature-type" data-tsd-kind = "Interface" > CustomDocumentOpenContext< / a > , token< span class = "tsd-signature-symbol" > : < / span > < a href = "vscode.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" >
< ul >
< li > Defined in < a href = "https://github.com/vscode-cn/vscode-api-cn/blob/201e4fb/vscode.d.ts#L8016" > vscode.d.ts:8016< / 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/vscode.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 = "vscode.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 = "vscode.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" >
< 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" >
< 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 = "vscode.WebviewPanel.html" class = "tsd-signature-type" data-tsd-kind = "Interface" > WebviewPanel< / a > , token< span class = "tsd-signature-symbol" > : < / span > < a href = "vscode.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" >
< ul >
< li > Defined in < a href = "https://github.com/vscode-cn/vscode-api-cn/blob/201e4fb/vscode.d.ts#L8035" > vscode.d.ts:8035< / 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 = "vscode.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 = "vscode.WebviewPanel.html" > < code > WebviewPanel< / code > < / a > for additional details.< / p >
< / div >
< / li >
< li >
< h5 > token: < a href = "vscode.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 >
< / div >
< div class = "col-4 col-menu menu-sticky-wrap menu-highlight" >
< nav class = "tsd-navigation primary" >
< ul >
< li class = " " >
< a href = "../modules.html" > Exports< / a >
< / li >
< li class = "current tsd-kind-namespace" >
< a href = "../modules/vscode.html" > vscode< / a >
< ul >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.authentication.html" > authentication< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.commands.html" > commands< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.comments.html" > comments< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.debug.html" > debug< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.env.html" > env< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.extensions.html" > extensions< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.languages.html" > languages< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.notebooks.html" > notebooks< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.scm.html" > scm< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.tasks.html" > tasks< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.tests.html" > tests< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.window.html" > window< / a >
< / li >
< li class = " tsd-kind-namespace tsd-parent-kind-namespace" >
< a href = "../modules/vscode.workspace.html" > workspace< / a >
< / li >
< / ul >
< / li >
< / ul >
< / nav >
< nav class = "tsd-navigation secondary menu-sticky" >
< div style = "width: 200px" >
< script type = "text/javascript" id = "clstr_globe" src = "//clustrmaps.com/globe.js?d=cMnk-gSDNcAzNMMm67U8rWRaHnjUc0Xb0giSGndepK4" > < / script >
< / div >
< ul class = "before-current" >
< / ul >
< ul class = "current" >
< li class = "current tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter" >
< a href = "vscode.CustomReadonlyEditorProvider.html" class = "tsd-kind-icon" > Custom< wbr > Readonly< wbr > Editor< wbr > Provider< / a >
< ul >
< li class = " tsd-kind-method tsd-parent-kind-interface" >
< a href = "vscode.CustomReadonlyEditorProvider.html#openCustomDocument" class = "tsd-kind-icon" > open< wbr > Custom< wbr > Document< / a >
< / li >
< li class = " tsd-kind-method tsd-parent-kind-interface" >
< a href = "vscode.CustomReadonlyEditorProvider.html#resolveCustomEditor" class = "tsd-kind-icon" > resolve< wbr > Custom< wbr > Editor< / a >
< / li >
< / ul >
< / li >
< / ul >
< ul class = "after-current" >
< / ul >
< / nav >
< / div >
< / div >
< / div >
< footer class = "with-border-bottom" >
< div class = "container" >
< h2 > 图例< / h2 >
< div class = "tsd-legend-group" >
< ul class = "tsd-legend" >
< li class = "tsd-kind-method tsd-parent-kind-interface" > < span class = "tsd-kind-icon" > Method< / span > < / li >
< / ul >
< / div >
< / div >
< / footer >
< div class = "container tsd-generator" >
< p > < a href = "https://liiked.github.io/VS-Code-Extension-Doc-ZH/" target = "_blank" > VS Code 插件开发中文文档< / a > | < a href = "https://jeasonstudio.gitbooks.io/vscode-cn-doc/content/" target = "_blank" > VS Code 中文文档< / a > | < a href = "https://code.visualstudio.com/docs" target = "_blank" > VS Code 官网文档< / a > | < a href = "https://marketplace.visualstudio.com/" target = "_blank" > VS Code 扩展市场< / a > < / p >
< p > Generated by < a href = "https://typedoc.org/" target = "_blank" > TypeDoc< / a > < / p >
< / div >
< div class = "overlay" > < / div >
< script src = "../assets/js/main.js" > < / script >
< a href = "https://github.com/youngjuning/vscode-api-cn" target = "_blank" class = "github-corner" aria-label = "View source on GitHub" > < svg width = "80" height = "80" viewBox = "0 0 250 250" style = "fill:#151513; color:#fff; position: fixed; top: 0; border: 0; right: 0;" aria-hidden = "true" > < path d = "M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z" > < / path > < path d = "M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill = "currentColor" style = "transform-origin: 130px 106px;" class = "octo-arm" > < / path > < path d = "M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill = "currentColor" class = "octo-body" > < / path > < / svg > < / a >
< / body >
< / html >