Options
All
  • Public
  • Public/Protected
  • All
Menu

描述编辑器运行环境的命名空间。

maintainer

@youngjuning

索引

Variables(12)

Const appName

appName: string

编辑器的应用程序名称,例如 'VS Code'。

Const appRoot

appRoot: string

编辑器运行的应用程序根目录。

注意 当运行在没有应用程序根目录的环境中时,值为空字符串。

Const uriScheme

uriScheme: string

编辑器在操作系统中注册的自定义 URI 方案。

Const language

language: string

表示用户首选的语言,例如 de-CHfren-US

Const clipboard

clipboard: Clipboard

系统剪贴板。

Const machineId

machineId: string

用于标识计算机的唯一标识符。

Const sessionId

sessionId: string

用于标识当前会话的唯一标识符。

每次启动编辑器时都会更改。

Const isNewAppInstall

isNewAppInstall: boolean

表示这是应用程序的首次安装。

如果在安装的第一天内为 true,否则为 false

Const isTelemetryEnabled

isTelemetryEnabled: boolean

表示用户是否启用了遥测。

可以观察以确定扩展是否应发送遥测。

Const remoteName

remoteName: string | undefined

远程的名称。由扩展定义,常见的示例是 wsl 用于 Windows 子系统 Linux 或 ssh-remote 用于使用安全 shell 的远程。

注意 当没有远程扩展主机时,值为 undefined,但是当存在远程扩展主机时,值在所有扩展主机(本地和远程)中都已定义。 使用 Extension.extensionKind 来确定特定扩展是否在远程运行。

Const shell

shell: string

检测到的扩展主机的默认 shell,该值由扩展主机平台的 terminal.integrated.shell 设置覆盖。 请注意,在不支持 shell 的环境中,值为空字符串。

Const uiKind

uiKind: UIKind

UI kind 属性表示从哪个 UI 访问扩展。例如,扩展可以从桌面应用程序或 Web 浏览器访问。

Functions(3)

Const onDidChangeTelemetryEnabled

  • onDidChangeTelemetryEnabled(listener: (e: boolean) => any, thisArgs?: any, disposables?: Disposable[]): Disposable
  • 当用户启用或禁用遥测时触发的 Event

    如果用户启用了遥测,则为 true;如果用户禁用了遥测,则为 false

    Parameters

    • listener: (e: boolean) => any
        • (e: boolean): any
        • Parameters

          • e: boolean

          Returns any

    • Optional thisArgs: any
    • Optional disposables: Disposable[]

    Returns Disposable

openExternal

  • 使用默认应用程序在外部打开链接。根据使用的方案,可以是:

    • 浏览器(http:https:
    • 邮件客户端(mailto:
    • VSCode 本身(vscode: 来自 vscode.env.uriScheme

    注意 showTextDocument 是在编辑器内打开文本文档的正确方法,而不是此函数。

    Parameters

    • target: Uri

      应该打开的 uri。

    Returns Thenable<boolean>

    一个指示是否打开成功的 promise。

asExternalUri

  • 将 uri 解析为外部可访问的形式。

    http:https: 方案

    解析扩展正在运行的 external uri,例如 http:https: 链接,从扩展运行的客户端机器上的同一资源的 uri。

    如果扩展在客户端机器上运行,则此操作无效。

    如果扩展在远程运行,则此函数会自动从本地机器到远程上的 target 建立端口转发隧道,并返回到隧道的本地 uri。端口转发隧道的生命周期由编辑器管理,用户可以关闭隧道。

    注意 通过 openExternal 传递的 uris 会自动解析,您不应该对它们调用 asExternalUri

    vscode.env.uriScheme

    创建一个 uri,如果在浏览器中打开(例如,通过 openExternal),则会导致注册的 UriHandler 触发。

    扩展不应对结果 uri 进行任何假设,并且不应以任何方式更改它。相反,扩展可以使用此 uri 在身份验证流程中,例如将 uri 作为回调查询参数添加到要身份验证的服务器。

    注意 如果服务器决定将其他查询参数添加到 uri(例如,令牌或秘密),则它将出现在传递给 UriHandler 的 uri 中。

    示例 身份验证流程:

    vscode.window.registerUriHandler({
     handleUri(uri: vscode.Uri): vscode.ProviderResult<void> {
            if (uri.path === '/did-authenticate') {
                console.log(uri.toString());
            }
        }
    });
    
    const callableUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://my.extension/did-authenticate`));
    await vscode.env.openExternal(callableUri);
    

    注意 扩展不应缓存 asExternalUri 的结果,因为解析的 uri 可能会因为系统或用户操作而变得无效 — 例如,在远程情况下,用户可能会关闭由 asExternalUri 打开的端口转发隧道。

    其他任何方案

    其他任何方案都将被处理为提供的 URI 是工作区 URI。在这种情况下,该方法将返回一个 URI,当处理时,将使编辑器打开工作区。

    Parameters

    Returns Thenable<Uri>

    可在客户端机器上使用的 uri。

VS Code 插件开发中文文档 | VS Code 中文文档 | VS Code 官网文档 | VS Code 扩展市场

Generated by TypeDoc