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

625 lines
38 KiB

<!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="Documentation for VS Code 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>
<style>
a[title="站长统计"] {
display: none;
}
.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">
<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/Saber2pr" class="external">@Saber2pr</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8174">vscode.d.ts:8174</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The application name of the editor, like &#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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8182">vscode.d.ts:8182</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The application root folder from which the editor is running.</p>
</div>
<p><em>Note</em> that the value is the empty string when running in an
environment that has no representation of an application root folder.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8187">vscode.d.ts:8187</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The custom uri scheme the editor registers to in the operating system.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8192">vscode.d.ts:8192</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Represents the preferred user-language, like <code>de-CH</code>, <code>fr</code>, or <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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8197">vscode.d.ts:8197</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The system clipboard.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8202">vscode.d.ts:8202</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A unique identifier for the computer.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8208">vscode.d.ts:8208</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A unique identifier for the current session.
Changes each time the editor is started.</p>
</div>
</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8214">vscode.d.ts:8214</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Indicates that this is a fresh install of the application.
<code>true</code> if within the first day of installation otherwise <code>false</code>.</p>
</div>
</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8220">vscode.d.ts:8220</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Indicates whether the users has telemetry enabled.
Can be observed to determine if the extension should send telemetry.</p>
</div>
</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8237">vscode.d.ts:8237</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The name of a remote. Defined by extensions, popular samples are <code>wsl</code> for the Windows
Subsystem for Linux or <code>ssh-remote</code> for remotes using a secure shell.</p>
</div>
<p><em>Note</em> that the value is <code>undefined</code> when there is no remote extension host but that the
value is defined in all extension hosts (local and remote) in case a remote extension host
exists. Use <a href="../interfaces/vscode.Extension.html#extensionKind">Extension.extensionKind</a> to know if
a specific extension runs remote or not.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8244">vscode.d.ts:8244</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The detected default shell for the extension host, this is overridden by the
<code>terminal.integrated.shell</code> setting for the extension host&#39;s platform. Note that in
environments that do not support a shell the value is the empty string.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8251">vscode.d.ts:8251</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The UI kind property indicates from which UI extensions
are accessed from. For example, extensions could be accessed
from a desktop application or a web browser.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8226">vscode.d.ts:8226</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>An <a href="../interfaces/vscode.Event.html">Event</a> which fires when the user enabled or disables telemetry.
<code>true</code> if the user has enabled telemetry or <code>false</code> if the user has disabled telemetry.</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">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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8266">vscode.d.ts:8266</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Opens a link externally using the default application. Depending on the
used scheme this can be:</p>
<ul>
<li>a browser (<code>http:</code>, <code>https:</code>)</li>
<li>a mail client (<code>mailto:</code>)</li>
<li>VSCode itself (<code>vscode:</code> from <code>vscode.env.uriScheme</code>)</li>
</ul>
</div>
<p><em>Note</em> that <a href="vscode.window.html#showTextDocument"><code>showTextDocument</code></a> is the right
way to open a text document inside the editor, not this function.</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>The uri that should be opened.</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>A promise indicating if open was successful.</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/vscode-cn/vscode-api-cn/blob/8f5ebc6/vscode.d.ts#L8321">vscode.d.ts:8321</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Resolves a uri to a form that is accessible externally.</p>
</div>
<a href="#http-or-https-scheme" id="http-or-https-scheme" style="color: inherit; text-decoration: none;">
<h4><code>http:</code> or <code>https:</code> scheme</h4>
</a>
<p>Resolves an <em>external</em> uri, such as a <code>http:</code> or <code>https:</code> link, from where the extension is running to a
uri to the same resource on the client machine.</p>
<p>This is a no-op if the extension is running on the client machine.</p>
<p>If the extension is running remotely, this function automatically establishes a port forwarding tunnel
from the local machine to <code>target</code> on the remote and returns a local uri to the tunnel. The lifetime of
the port forwarding tunnel is managed by the editor and the tunnel can be closed by the user.</p>
<p><em>Note</em> that uris passed through <code>openExternal</code> are automatically resolved and you should not call <code>asExternalUri</code> on them.</p>
<a href="#vscodeenvurischeme" id="vscodeenvurischeme" style="color: inherit; text-decoration: none;">
<h4><code>vscode.env.uriScheme</code></h4>
</a>
<p>Creates a uri that - if opened in a browser (e.g. via <code>openExternal</code>) - will result in a registered <a href="../interfaces/vscode.UriHandler.html">UriHandler</a>
to trigger.</p>
<p>Extensions should not make any assumptions about the resulting uri and should not alter it in any way.
Rather, extensions can e.g. use this uri in an authentication flow, by adding the uri as callback query
argument to the server to authenticate to.</p>
<p><em>Note</em> that if the server decides to add additional query parameters to the uri (e.g. a token or secret), it
will appear in the uri that is passed to the <a href="../interfaces/vscode.UriHandler.html">UriHandler</a>.</p>
<p><strong>Example</strong> of an authentication flow:</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>Note</em> that extensions should not cache the result of <code>asExternalUri</code> as the resolved uri may become invalid due to
a system or user action — for example, in remote cases, a user may close a port forwarding tunnel that was opened by
<code>asExternalUri</code>.</p>
<a href="#any-other-scheme" id="any-other-scheme" style="color: inherit; text-decoration: none;">
<h4>Any other scheme</h4>
</a>
<p>Any other scheme will be handled as if the provided URI is a workspace URI. In that case, the method will return
a URI which, when handled, will make the editor open the workspace.</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>A uri that can be used on the client machine.</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="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">
<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> | <a href="https://www.cnzz.com/stat/website.php?web_id=1280241129" target="_blank" title="VS Code 官网文档站长统计">站长统计</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script type="text/javascript">document.write(unescape("%3Cspan id='cnzz_stat_icon_1280241129'%3E%3C/span%3E%3Cscript src='https://s9.cnzz.com/z_stat.php%3Fid%3D1280241129' type='text/javascript'%3E%3C/script%3E"));</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>