Как получить идентификатор из globalState в расширении кода Visual Studio? - PullRequest
0 голосов
/ 07 сентября 2018

В контексте расширения vscode есть globalState. globalState - это объект ExtensionMemento, и во время выполнения при отладке я вижу, что он имеет закрытый _id.

Как мне получить идентификатор? Я пробовал:
context.globalState.get ( "ID");
context.globalState.get ( "_ идентификатор");
... но каждое возвращение не определено.

1 Ответ

0 голосов
/ 19 января 2019

Когда расширение активировано, текущий контекст расширения передается в качестве аргумента. Вы можете использовать context.extensionPath, чтобы найти package.json и проанализировать его.

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) {
        var packageId = packageFile.publisher + '.' + packageFile.name;
        console.log(packageId);
    }

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

}
...