扩展如何在VSCode中扩展配置变量?

时间:2017-05-15 05:52:45

标签: javascript visual-studio-code

我尝试为vscode编写扩展,扩展需要从./vscode/settings.json文件中读取pasteImage.parth变量

{
    "pasteImage.path": "${workspaceRoot}/assets/images"
}

我尝试使用vscode.workspace.getConfiguration()函数来获取这样的变量:

let folderPathFromConfig = vscode.workspace.getConfiguration('pasteImage')['path'];

但它得到了" $ {workspaceRoot} / assets / images",我希望$ {workspaceRoot}扩展到工作区root的真实路径,我该怎么办?

感谢任何提示!

2 个答案:

答案 0 :(得分:0)

根据vscode extensibility documentation你可以使用

let workspaceRoot = vscode.workspace.workspaceFolders[0];

获取根WorkspaceFolder。您可以使用WorkspaceFolder

获取Uri的绝对路径
let workspaceRootPath = workspaceRoot.uri.path;

然后,您只需替换"${workspaceRoot}"的{​​{1}}子字符串 总结:

folderPathFromConfig

答案 1 :(得分:0)

似乎没有服务,您必须像扩展the debug host一样扩展AbstractVariableResolverService来实现。

很遗憾,您无法从扩展程序中导入这些内容。


The actual implementation非常简单,但是我确实想知道他们决定反对时的想法。

IProcessEnvironment仅是内置process.env道具的a stupid interface