如何从扩展码动态查询我的VSCode扩展版本?

时间:2017-05-22 12:35:30

标签: visual-studio-code vscode-extensions

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

我找到VSCode.extensions.getExtension('myExtensionId').packageJSON,但我不知道该如何处理。

2 个答案:

答案 0 :(得分:2)

我终于接近了。使用:

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

似乎可以解决问题。

答案 1 :(得分:0)

激活扩展名时,当前扩展名上下文将作为参数传递。您可以使用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

}