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

615 lines
38 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>env | 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="og:description" content="VS Code API 是一系列你可以在 Visual Studio Code 扩展中调用的 JavaScript API这个站点列出了扩展开发者可以使用的所有 vscode api 中文文档,是 vscode 插件开发必备。">
<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 VS Code API 中文文档">
<meta property="article:tag" content="vscode env">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<link rel="shortcut icon" href="https://code.visualstudio.com/favicon.ico" sizes="128x128">
<link rel='canonical' href='https://vscode-api-cn.js.org/modules/vscode.env.html' />
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
<meta name="baidu-site-verification" content="codeva-3X25ouCcqY" />
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7962287588031867" crossorigin="anonymous"></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.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">
<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4963807055498900" data-ad-host="ca-host-pub-1012064661720050" data-ad-format="auto" data-full-width-responsive="true" data-override-format="true" data-page-url="https://pantip.com"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({ });</script>
<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://youngjuning.js.org" 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.js.org/blob/3cf638d/vscode.d.ts#L8151">vscode.d.ts:8151</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.js.org/blob/3cf638d/vscode.d.ts#L8164">vscode.d.ts:8164</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.js.org/blob/3cf638d/vscode.d.ts#L8173">vscode.d.ts:8173</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.js.org/blob/3cf638d/vscode.d.ts#L8182">vscode.d.ts:8182</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.js.org/blob/3cf638d/vscode.d.ts#L8190">vscode.d.ts:8190</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.js.org/blob/3cf638d/vscode.d.ts#L8197">vscode.d.ts:8197</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.js.org/blob/3cf638d/vscode.d.ts#L8208">vscode.d.ts:8208</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.js.org/blob/3cf638d/vscode.d.ts#L8219">vscode.d.ts:8219</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.js.org/blob/3cf638d/vscode.d.ts#L8230">vscode.d.ts:8230</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.js.org/blob/3cf638d/vscode.d.ts#L8258">vscode.d.ts:8258</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.js.org/blob/3cf638d/vscode.d.ts#L8269">vscode.d.ts:8269</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.js.org/blob/3cf638d/vscode.d.ts#L8279">vscode.d.ts:8279</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.js.org/blob/3cf638d/vscode.d.ts#L8241">vscode.d.ts:8241</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.js.org/blob/3cf638d/vscode.d.ts#L8305">vscode.d.ts:8305</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.js.org/blob/3cf638d/vscode.d.ts#L8404">vscode.d.ts:8404</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>
<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4963807055498900" data-ad-host="ca-host-pub-1012064661720050" data-ad-format="auto" data-full-width-responsive="true" data-override-format="true" data-page-url="https://pantip.com"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({ });</script>
</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 async="async" 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://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>
<script>(adsbygoogle = window.adsbygoogle || []).push({ });</script>
</body>
</html>