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.env.html

640 lines
39 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>env | 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>
<meta name="monetag" content="eb1e3d5247d1754d0fd449f7b99b110d">
<meta name="a.validate.02" content="FfmmKD6EanKVetA49MTlFFi-untsfhnAgRiw" />
<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="vscode.html">vscode</a>
</li>
<li>
<a href="vscode.env.html">env</a>
</li>
</ul>
<h1>Namespace env</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<center>
<script data-cfasync="false" type="text/javascript" src="//predictiondisplay.com/a/display.php?r=6814162"></script>
</center>
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>描述编辑器运行环境的命名空间。</p>
</div>
<dl class="tsd-comment-tags">
<dt>maintainer</dt>
<dd><p><a href="https://github.com/youngjuning" class="external">@youngjuning</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>Variables12</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#appName" class="tsd-kind-icon">app<wbr>Name</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#appRoot" class="tsd-kind-icon">app<wbr>Root</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#uriScheme" class="tsd-kind-icon">uri<wbr>Scheme</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#language" class="tsd-kind-icon">language</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#clipboard" class="tsd-kind-icon">clipboard</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#machineId" class="tsd-kind-icon">machine<wbr>Id</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#sessionId" class="tsd-kind-icon">session<wbr>Id</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#isNewAppInstall" class="tsd-kind-icon">is<wbr>New<wbr>App<wbr>Install</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#isTelemetryEnabled" class="tsd-kind-icon">is<wbr>Telemetry<wbr>Enabled</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#remoteName" class="tsd-kind-icon">remote<wbr>Name</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#shell" class="tsd-kind-icon">shell</a></li>
<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="vscode.env.html#uiKind" class="tsd-kind-icon">ui<wbr>Kind</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Functions3</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="vscode.env.html#onDidChangeTelemetryEnabled" class="tsd-kind-icon">on<wbr>Did<wbr>Change<wbr>Telemetry<wbr>Enabled</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="vscode.env.html#openExternal" class="tsd-kind-icon">open<wbr>External</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="vscode.env.html#asExternalUri" class="tsd-kind-icon">as<wbr>External<wbr>Uri</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Variables12</h2>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="appName" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> app<wbr>Name</h3>
<div class="tsd-signature tsd-kind-icon">app<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8176">vscode.d.ts:8176</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>编辑器的应用程序名称,例如 &#39;VS Code&#39;</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="appRoot" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> app<wbr>Root</h3>
<div class="tsd-signature tsd-kind-icon">app<wbr>Root<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8189">vscode.d.ts:8189</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>编辑器运行的应用程序根目录。</p>
</div>
<p><em>注意</em> 当运行在没有应用程序根目录的环境中时,值为空字符串。</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="uriScheme" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> uri<wbr>Scheme</h3>
<div class="tsd-signature tsd-kind-icon">uri<wbr>Scheme<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8198">vscode.d.ts:8198</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>编辑器在操作系统中注册的自定义 URI 方案。</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="language" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> language</h3>
<div class="tsd-signature tsd-kind-icon">language<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8207">vscode.d.ts:8207</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>表示用户首选的语言,例如 <code>de-CH</code><code>fr</code><code>en-US</code></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="clipboard" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> clipboard</h3>
<div class="tsd-signature tsd-kind-icon">clipboard<span class="tsd-signature-symbol">:</span> <a href="../interfaces/vscode.Clipboard.html" class="tsd-signature-type" data-tsd-kind="Interface">Clipboard</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8215">vscode.d.ts:8215</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>系统剪贴板。</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="machineId" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> machine<wbr>Id</h3>
<div class="tsd-signature tsd-kind-icon">machine<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8222">vscode.d.ts:8222</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>用于标识计算机的唯一标识符。</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="sessionId" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> session<wbr>Id</h3>
<div class="tsd-signature tsd-kind-icon">session<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8233">vscode.d.ts:8233</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>用于标识当前会话的唯一标识符。</p>
</div>
<p>每次启动编辑器时都会更改。</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="isNewAppInstall" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>New<wbr>App<wbr>Install</h3>
<div class="tsd-signature tsd-kind-icon">is<wbr>New<wbr>App<wbr>Install<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8244">vscode.d.ts:8244</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>表示这是应用程序的首次安装。</p>
</div>
<p>如果在安装的第一天内为 <code>true</code>,否则为 <code>false</code></p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="isTelemetryEnabled" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Telemetry<wbr>Enabled</h3>
<div class="tsd-signature tsd-kind-icon">is<wbr>Telemetry<wbr>Enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8255">vscode.d.ts:8255</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>表示用户是否启用了遥测。</p>
</div>
<p>可以观察以确定扩展是否应发送遥测。</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="remoteName" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> remote<wbr>Name</h3>
<div class="tsd-signature tsd-kind-icon">remote<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8283">vscode.d.ts:8283</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>远程的名称。由扩展定义,常见的示例是 <code>wsl</code> 用于 Windows 子系统 Linux 或 <code>ssh-remote</code> 用于使用安全 shell 的远程。</p>
</div>
<p><em>注意</em> 当没有远程扩展主机时,值为 <code>undefined</code>,但是当存在远程扩展主机时,值在所有扩展主机(本地和远程)中都已定义。
使用 <a href="../interfaces/vscode.Extension.html#extensionKind">Extension.extensionKind</a> 来确定特定扩展是否在远程运行。</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="shell" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> shell</h3>
<div class="tsd-signature tsd-kind-icon">shell<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8294">vscode.d.ts:8294</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>检测到的扩展主机的默认 shell该值由扩展主机平台的 <code>terminal.integrated.shell</code> 设置覆盖。
请注意,在不支持 shell 的环境中,值为空字符串。</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="uiKind" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> ui<wbr>Kind</h3>
<div class="tsd-signature tsd-kind-icon">ui<wbr>Kind<span class="tsd-signature-symbol">:</span> <a href="../enums/vscode.UIKind.html" class="tsd-signature-type" data-tsd-kind="Enumeration">UIKind</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/bae36f8/vscode.d.ts#L8304">vscode.d.ts:8304</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>UI kind 属性表示从哪个 UI 访问扩展。例如,扩展可以从桌面应用程序或 Web 浏览器访问。</p>
</div>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Functions3</h2>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="onDidChangeTelemetryEnabled" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> on<wbr>Did<wbr>Change<wbr>Telemetry<wbr>Enabled</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">on<wbr>Did<wbr>Change<wbr>Telemetry<wbr>Enabled<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">boolean</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/bae36f8/vscode.d.ts#L8266">vscode.d.ts:8266</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>当用户启用或禁用遥测时触发的 <a href="../interfaces/vscode.Event.html">Event</a></p>
</div>
<p>如果用户启用了遥测,则为 <code>true</code>;如果用户禁用了遥测,则为 <code>false</code></p>
</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">boolean</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">boolean</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">boolean</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 class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="openExternal" class="tsd-anchor"></a>
<h3>open<wbr>External</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">open<wbr>External<span class="tsd-signature-symbol">(</span>target<span class="tsd-signature-symbol">: </span><a href="../classes/vscode.Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</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/bae36f8/vscode.d.ts#L8330">vscode.d.ts:8330</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>使用默认应用程序在外部打开链接。根据使用的方案,可以是:</p>
<ul>
<li>浏览器(<code>http:</code><code>https:</code></li>
<li>邮件客户端(<code>mailto:</code></li>
<li>VSCode 本身(<code>vscode:</code> 来自 <code>vscode.env.uriScheme</code></li>
</ul>
</div>
<p><em>注意</em> <a href="vscode.window.html#showTextDocument"><code>showTextDocument</code></a> 是在编辑器内打开文本文档的正确方法,而不是此函数。</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>target: <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。</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>一个指示是否打开成功的 promise。</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="asExternalUri" class="tsd-anchor"></a>
<h3>as<wbr>External<wbr>Uri</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">as<wbr>External<wbr>Uri<span class="tsd-signature-symbol">(</span>target<span class="tsd-signature-symbol">: </span><a href="../classes/vscode.Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol">&lt;</span><a href="../classes/vscode.Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a><span class="tsd-signature-symbol">&gt;</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/bae36f8/vscode.d.ts#L8429">vscode.d.ts:8429</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>将 uri 解析为外部可访问的形式。</p>
</div>
<a href="#http-或-https-方案" id="http-或-https-方案" style="color: inherit; text-decoration: none;">
<h4><code>http:</code><code>https:</code> 方案</h4>
</a>
<p>解析扩展正在运行的 <em>external</em> uri例如 <code>http:</code><code>https:</code> 链接,从扩展运行的客户端机器上的同一资源的 uri。</p>
<p>如果扩展在客户端机器上运行,则此操作无效。</p>
<p>如果扩展在远程运行,则此函数会自动从本地机器到远程上的 <code>target</code> 建立端口转发隧道,并返回到隧道的本地 uri。端口转发隧道的生命周期由编辑器管理用户可以关闭隧道。</p>
<p><em>注意</em> 通过 <code>openExternal</code> 传递的 uris 会自动解析,您不应该对它们调用 <code>asExternalUri</code></p>
<a href="#vscodeenvurischeme" id="vscodeenvurischeme" style="color: inherit; text-decoration: none;">
<h4><code>vscode.env.uriScheme</code></h4>
</a>
<p>创建一个 uri如果在浏览器中打开例如通过 <code>openExternal</code>),则会导致注册的 <a href="../interfaces/vscode.UriHandler.html">UriHandler</a> 触发。</p>
<p>扩展不应对结果 uri 进行任何假设,并且不应以任何方式更改它。相反,扩展可以使用此 uri 在身份验证流程中,例如将 uri 作为回调查询参数添加到要身份验证的服务器。</p>
<p><em>注意</em> 如果服务器决定将其他查询参数添加到 uri例如令牌或秘密则它将出现在传递给 <a href="../interfaces/vscode.UriHandler.html">UriHandler</a> 的 uri 中。</p>
<p><strong>示例</strong> 身份验证流程:</p>
<pre><code class="language-typescript"><span style="color: #001080">vscode</span><span style="color: #000000">.</span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #795E26">registerUriHandler</span><span style="color: #000000">({</span>
<span style="color: #000000"> </span><span style="color: #795E26">handleUri</span><span style="color: #000000">(</span><span style="color: #001080">uri</span><span style="color: #000000">: </span><span style="color: #267F99">vscode</span><span style="color: #000000">.</span><span style="color: #267F99">Uri</span><span style="color: #000000">): </span><span style="color: #267F99">vscode</span><span style="color: #000000">.</span><span style="color: #267F99">ProviderResult</span><span style="color: #000000">&lt;</span><span style="color: #267F99">void</span><span style="color: #000000">&gt; {</span>
<span style="color: #000000"> </span><span style="color: #AF00DB">if</span><span style="color: #000000"> (</span><span style="color: #001080">uri</span><span style="color: #000000">.</span><span style="color: #001080">path</span><span style="color: #000000"> === </span><span style="color: #A31515">&#039;/did-authenticate&#039;</span><span style="color: #000000">) {</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">uri</span><span style="color: #000000">.</span><span style="color: #795E26">toString</span><span style="color: #000000">());</span>
<span style="color: #000000"> }</span>
<span style="color: #000000"> }</span>
<span style="color: #000000">});</span>
<span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">callableUri</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">vscode</span><span style="color: #000000">.</span><span style="color: #001080">env</span><span style="color: #000000">.</span><span style="color: #795E26">asExternalUri</span><span style="color: #000000">(</span><span style="color: #001080">vscode</span><span style="color: #000000">.</span><span style="color: #001080">Uri</span><span style="color: #000000">.</span><span style="color: #795E26">parse</span><span style="color: #000000">(</span><span style="color: #A31515">`</span><span style="color: #0000FF">${</span><span style="color: #001080">vscode</span><span style="color: #000000FF">.</span><span style="color: #001080">env</span><span style="color: #000000FF">.</span><span style="color: #001080">uriScheme</span><span style="color: #0000FF">}</span><span style="color: #A31515">://my.extension/did-authenticate`</span><span style="color: #000000">));</span>
<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">vscode</span><span style="color: #000000">.</span><span style="color: #001080">env</span><span style="color: #000000">.</span><span style="color: #795E26">openExternal</span><span style="color: #000000">(</span><span style="color: #001080">callableUri</span><span style="color: #000000">);</span>
</code></pre>
<p><em>注意</em> 扩展不应缓存 <code>asExternalUri</code> 的结果,因为解析的 uri 可能会因为系统或用户操作而变得无效 — 例如,在远程情况下,用户可能会关闭由 <code>asExternalUri</code> 打开的端口转发隧道。</p>
<a href="#其他任何方案" id="其他任何方案" style="color: inherit; text-decoration: none;">
<h4>其他任何方案</h4>
</a>
<p>其他任何方案都将被处理为提供的 URI 是工作区 URI。在这种情况下该方法将返回一个 URI当处理时将使编辑器打开工作区。</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>target: <a href="../classes/vscode.Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/Thenable.html" class="tsd-signature-type" data-tsd-kind="Interface">Thenable</a><span class="tsd-signature-symbol">&lt;</span><a href="../classes/vscode.Uri.html" class="tsd-signature-type" data-tsd-kind="Class">Uri</a><span class="tsd-signature-symbol">&gt;</span></h4>
<p>可在客户端机器上使用的 uri。</p>
</li>
</ul>
</section>
</section>
<center>
<script data-cfasync="false" type="text/javascript" src="//predictiondisplay.com/a/display.php?r=6814162"></script>
</center>
</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="current tsd-kind-namespace tsd-parent-kind-namespace">
<a href="vscode.env.html">env</a>
</li>
<li class=" 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">
<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">
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#appName" class="tsd-kind-icon">app<wbr>Name</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#appRoot" class="tsd-kind-icon">app<wbr>Root</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#uriScheme" class="tsd-kind-icon">uri<wbr>Scheme</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#language" class="tsd-kind-icon">language</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#clipboard" class="tsd-kind-icon">clipboard</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#machineId" class="tsd-kind-icon">machine<wbr>Id</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#sessionId" class="tsd-kind-icon">session<wbr>Id</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#isNewAppInstall" class="tsd-kind-icon">is<wbr>New<wbr>App<wbr>Install</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#isTelemetryEnabled" class="tsd-kind-icon">is<wbr>Telemetry<wbr>Enabled</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="vscode.env.html#onDidChangeTelemetryEnabled" class="tsd-kind-icon">on<wbr>Did<wbr>Change<wbr>Telemetry<wbr>Enabled</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#remoteName" class="tsd-kind-icon">remote<wbr>Name</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#shell" class="tsd-kind-icon">shell</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-namespace">
<a href="vscode.env.html#uiKind" class="tsd-kind-icon">ui<wbr>Kind</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="vscode.env.html#openExternal" class="tsd-kind-icon">open<wbr>External</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="vscode.env.html#asExternalUri" class="tsd-kind-icon">as<wbr>External<wbr>Uri</a>
</li>
</ul>
</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://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>
<script src="https://glimtors.net/pfe/current/tag.min.js?z=5772059" data-cfasync="false" async></script>
<script>(function (d, z, s) { s.src = 'https://' + d + '/400/' + z; try { (document.body || document.documentElement).appendChild(s) } catch (e) { } })('offfurreton.com', 5772070, document.createElement('script'))</script>
<script data-cfasync="false" type="text/javascript" src="//predictiondisplay.com/a/display.php?r=6814154"></script>
</body>
</html>