如何使可变的自定义数据可用于自定义扩展?

时间:2019-01-15 13:21:16

标签: visual-studio-code

也许google尚未学习,或者我只是无法构建正确的神奇搜索文本,或者这是不可能的。

简短说明。我正在创建代码的自定义扩展。代码将由另一个应用程序启动。此其他应用程序需要根据启动代码的位置将一些信息移交给Code和扩展名,但是我不知道如何实现。当从Pallette发出命令时,扩展程序将使用此信息来做特定的事情。

我一直在研究命令行参数,但是找不到文档或Google搜索,这些文档或Google搜索向我展示了扩展程序如何访问命令行并解析参数。

参数可能是客户ID以及Code或扩展名无法自行找到的其他特定数据,除非将某种值从启动应用程序推送到Code中...

我是否以为扩展程序无法读取命令行参数,或者我只是对VS Code愚蠢的不满意?

我在launch.json“ --testparameter = testvalue”上添加了一个参数,我看到使用此参数启动了code.exe,但是我的扩展名如何访问此参数超出了我的范围...

1 个答案:

答案 0 :(得分:0)

我们通过让另一个应用程序将所需的所有设置添加到.code-workspace文件中来解决此问题。使用内置工作区配置对象可以轻松访问这些数据。假设文件包含名为“ extension.friendlyname”的设置,这就是我们的读取方式:

getFriendlyName(): string
{
    return this.getConfig('extension.friendlyname');
}

private getConfig(configName:string): string
{
    const configuration = vscode.workspace.getConfiguration();
    const configValue = configuration.get(configName);
    return  String(configValue);
}