【问题标题】:How to dynamically query my VSCode extension version from the extension code?如何从扩展代码中动态查询我的 VSCode 扩展版本?
【发布时间】:2017-05-22 12:35:29
【问题描述】:

我正在为 VSCode 编写一个扩展。我想从它自己的代码中获取扩展的运行时版本。有没有办法做到这一点?

我找到了VSCode.extensions.getExtension('myExtensionId').packageJSON,但我不知道该怎么办。

【问题讨论】:

标签: visual-studio-code vscode-extensions


【解决方案1】:

我终于接近了。使用:

VSCode.extensions.getExtension('publisher.myExtensionId').packageJSON.version

似乎可以解决问题。

【讨论】:

  • 确保同时检查未定义:VSCode.extensions.getExtension('publisher.myExtensionId')!.packageJSON.version
【解决方案2】:

激活扩展时,当前扩展上下文作为参数传递。您可以使用 context.extensionPath 而不是硬编码的扩展 ID 字符串 'publisher.myExtensionId'。

import * as Path from 'path';
import * as fs from 'fs';

export function activate(context: vscode.ExtensionContext) {
    var extensionPath = Path.join(context.extensionPath, "package.json");
    var packageFile = JSON.parse(fs.readFileSync(extensionPath, 'utf8'));

    if (packageFile) {
        console.log(packageFile.version);
    }

//......... rest

}

【讨论】:

    猜你喜欢
    • 2022-08-02
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    相关资源
    最近更新 更多