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.
vscode-api-cn.js/modules/vscode.extensions.html

395 lines
23 KiB

<!doctype html>
<html class="default no-js" lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>extensions | VS Code API 中文文档</title>
<meta name="description" content="VS Code API 是一系列你可以在 Visual Studio Code 扩展中调用的 JavaScript API这个站点列出了扩展开发者可以使用的所有 vscode api 中文文档,是 vscode 插件开发必备。">
<meta name="author" content="洛竹">
<meta name="copyright" content="洛竹">
<meta property="og:title" content="Vscode Api 中文文档" />
<meta property="og:type" content="docs">
<meta property="og:image" content="https://code.visualstudio.com/favicon.ico" />
<meta property="og:url" content="https://vscode-api-cn.js.org/index.html">
<meta property="og:site_name" content="Vscode Api 中文文档">
<meta property="article:tag" content="vscode api">
<meta property="article:tag" content="vscode api 中文文档">
<meta property="article:tag" content="vscode 插件">
<meta property="article:tag" content="vscode 插件开发">
<meta property="article:tag" content="vscode extensions">
<meta property="og:description" content="VS Code API 是一系列你可以在 Visual Studio Code 扩展中调用的 JavaScript API这个站点列出了扩展开发者可以使用的所有 vscode api 中文文档,是 vscode 插件开发必备。">
<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='canonical' href='https://vscode-api-cn.js.org/' />
<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>
.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="vscode.html">vscode</a>
</li>
<li>
<a href="vscode.extensions.html">extensions</a>
</li>
</ul>
<h1>Namespace extensions</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<div class="tsd-panel tsd-typography">
<script async="async" data-cfasync="false"
src="//harassinganticipation.com/c4d7e606982b8dd763aa6f5591967680/invoke.js"></script>
<div id="container-c4d7e606982b8dd763aa6f5591967680"></div>
</div>
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>用于处理已安装扩展的命名空间。扩展由一个可以映射它们的接口 <a href="../interfaces/vscode.Extension.html">Extension</a> 表示。</p>
</div>
<p>通过在 activate 方法中返回它们的公共 API 给其他扩展,扩展开发者可以给其他扩展提供 API。</p>
<pre><code class="language-javascript"><span style="color: #AF00DB">export</span><span style="color: #000000"> </span><span style="color: #0000FF">function</span><span style="color: #000000"> </span><span style="color: #795E26">activate</span><span style="color: #000000">(</span><span style="color: #001080">context</span><span style="color: #000000">: </span><span style="color: #267F99">vscode</span><span style="color: #000000">.</span><span style="color: #267F99">ExtensionContext</span><span style="color: #000000">) {</span>
<span style="color: #000000"> </span><span style="color: #0000FF">let</span><span style="color: #000000"> </span><span style="color: #001080">api</span><span style="color: #000000"> = {</span>
<span style="color: #000000"> </span><span style="color: #795E26">sum</span><span style="color: #000000">(</span><span style="color: #001080">a</span><span style="color: #000000">, </span><span style="color: #001080">b</span><span style="color: #000000">) {</span>
<span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> </span><span style="color: #001080">a</span><span style="color: #000000"> + </span><span style="color: #001080">b</span><span style="color: #000000">;</span>
<span style="color: #000000"> },</span>
<span style="color: #000000"> </span><span style="color: #795E26">mul</span><span style="color: #000000">(</span><span style="color: #001080">a</span><span style="color: #000000">, </span><span style="color: #001080">b</span><span style="color: #000000">) {</span>
<span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> </span><span style="color: #001080">a</span><span style="color: #000000"> * </span><span style="color: #001080">b</span><span style="color: #000000">;</span>
<span style="color: #000000"> }</span>
<span style="color: #000000"> };</span>
<span style="color: #000000"> </span><span style="color: #008000">// &#039;export&#039; public api-surface</span>
<span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> </span><span style="color: #001080">api</span><span style="color: #000000">;</span>
<span style="color: #000000">}</span>
</code></pre>
<p>当依赖于另一个扩展的 <code>API</code> 时,将 <code>依赖的扩展</code> 添加到
<code>package.json</code>,然后使用 <a href="vscode.extensions.html#getExtension">getExtension</a> 方法
<a href="../interfaces/vscode.Extension.html#exports">exports</a> 来获取,如下:</p>
<pre><code class="language-javascript"><span style="color: #0000FF">let</span><span style="color: #000000"> </span><span style="color: #001080">mathExt</span><span style="color: #000000"> = </span><span style="color: #001080">extensions</span><span style="color: #000000">.</span><span style="color: #795E26">getExtension</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;genius.math&#039;</span><span style="color: #000000">);</span>
<span style="color: #0000FF">let</span><span style="color: #000000"> </span><span style="color: #001080">importedApi</span><span style="color: #000000"> = </span><span style="color: #001080">mathExt</span><span style="color: #000000">.</span><span style="color: #001080">exports</span><span style="color: #000000">;</span>
<span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #001080">importedApi</span><span style="color: #000000">.</span><span style="color: #795E26">mul</span><span style="color: #000000">(</span><span style="color: #098658">42</span><span style="color: #000000">, </span><span style="color: #098658">1</span><span style="color: #000000">));</span>
</code></pre>
<dl class="tsd-comment-tags">
<dt>maintainer</dt>
<dd><p><a href="https://github.com/pan463859" class="external">@pan463859</a></p>
</dd>
</dl>
</div>
</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>Functions2</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter"><a href="vscode.extensions.html#getExtension" class="tsd-kind-icon">get<wbr>Extension</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="vscode.extensions.html#onDidChange" class="tsd-kind-icon">on<wbr>Did<wbr>Change</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Variables1</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.extensions.html#all" class="tsd-kind-icon">all</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Functions2</h2>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter">
<a name="getExtension" class="tsd-anchor"></a>
<h3>get<wbr>Extension</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter">
<li class="tsd-signature tsd-kind-icon">get<wbr>Extension<span class="tsd-signature-symbol">(</span>extensionId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/vscode.Extension.html" class="tsd-signature-type" data-tsd-kind="Interface">Extension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></li>
<li class="tsd-signature tsd-kind-icon">get<wbr>Extension&lt;T&gt;<span class="tsd-signature-symbol">(</span>extensionId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/vscode.Extension.html" class="tsd-signature-type" data-tsd-kind="Interface">Extension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</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-cn/blob/f86c931/vscode.d.ts#L13401">vscode.d.ts:13401</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Get an extension by its full identifier in the form of: <code>publisher.name</code>.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>extensionId: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>An extension identifier.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/vscode.Extension.html" class="tsd-signature-type" data-tsd-kind="Interface">Extension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></h4>
<p>An extension or <code>undefined</code>.</p>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/f86c931/vscode.d.ts#L13409">vscode.d.ts:13409</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Get an extension by its full identifier in the form of: <code>publisher.name</code>.</p>
</div>
</div>
<h4 class="tsd-type-parameters-title">Type parameters</h4>
<ul class="tsd-type-parameters">
<li>
<h4>T</h4>
</li>
</ul>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>extensionId: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>An extension identifier.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/vscode.Extension.html" class="tsd-signature-type" data-tsd-kind="Interface">Extension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></h4>
<p>An extension or <code>undefined</code>.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="onDidChange" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> on<wbr>Did<wbr>Change</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">on<wbr>Did<wbr>Change<span class="tsd-signature-symbol">(</span>listener<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span>, thisArgs<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span>, disposables<span class="tsd-signature-symbol">?: </span><a href="../classes/vscode.Disposable.html" class="tsd-signature-type" data-tsd-kind="Class">Disposable</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../classes/vscode.Disposable.html" class="tsd-signature-type" data-tsd-kind="Class">Disposable</a></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-cn/blob/f86c931/vscode.d.ts#L13420">vscode.d.ts:13420</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>An event which fires when <code>extensions.all</code> changes. This can happen when extensions are
installed, uninstalled, enabled or disabled.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>listener: <span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-signature">
<ul class="tsd-signatures tsd-kind-type-literal">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>e: <span class="tsd-signature-type">void</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
</li>
</ul>
</li>
</ul>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> thisArgs: <span class="tsd-signature-type">any</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> disposables: <a href="../classes/vscode.Disposable.html" class="tsd-signature-type" data-tsd-kind="Class">Disposable</a><span class="tsd-signature-symbol">[]</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../classes/vscode.Disposable.html" class="tsd-signature-type" data-tsd-kind="Class">Disposable</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Variables1</h2>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="all" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> all</h3>
<div class="tsd-signature tsd-kind-icon">all<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">readonly </span><a href="../interfaces/vscode.Extension.html" class="tsd-signature-type" data-tsd-kind="Interface">Extension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/f86c931/vscode.d.ts#L13414">vscode.d.ts:13414</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>All extensions currently known to the system.</p>
</div>
</div>
</section>
</section>
<div class="tsd-panel tsd-typography">
<ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-7962287588031867"
data-ad-slot="3578139931"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
</div>
</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="vscode.html">vscode</a>
<ul>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.authentication.html">authentication</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.commands.html">commands</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.comments.html">comments</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.debug.html">debug</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.env.html">env</a>
</li>
<li class="current tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.extensions.html">extensions</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.languages.html">languages</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.notebooks.html">notebooks</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.scm.html">scm</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.tasks.html">tasks</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.tests.html">tests</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.window.html">window</a>
</li>
<li class=" tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.workspace.html">workspace</a>
</li>
</ul>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter">
<a href="vscode.extensions.html#getExtension" class="tsd-kind-icon">get<wbr>Extension</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.extensions.html#all" class="tsd-kind-icon">all</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="vscode.extensions.html#onDidChange" class="tsd-kind-icon">on<wbr>Did<wbr>Change</a>
</li>
</ul>
<div style="width: 200px">
<script type="text/javascript" id="clstr_globe" src="//clustrmaps.com/globe.js?d=cMnk-gSDNcAzNMMm67U8rWRaHnjUc0Xb0giSGndepK4"></script>
</div>
<ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-7962287588031867" data-ad-slot="5385496887"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>图例</h2>
<div class="tsd-legend-group">
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>友链:<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>. Maintained by <a href="https://youngjuning.js.org" target="_blank">洛竹</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>