wot*_*ger 6 javascript visual-studio-code
我尝试为 vscode 编写一个扩展,该扩展需要pasteImage.parth从中读取变量./vscode/settings.json file
{
"pasteImage.path": "${workspaceRoot}/assets/images"
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用vscode.workspace.getConfiguration()函数来获取如下变量:
{
"pasteImage.path": "${workspaceRoot}/assets/images"
}
Run Code Online (Sandbox Code Playgroud)
但是得到了${workspaceRoot}/assets/images,我想${workspaceRoot}扩展到工作空间根的真实路径,该怎么办?
感谢您的任何提示!
Haa*_*Leo -1
根据vscode 扩展性文档,您可以使用
let workspaceRoot = vscode.workspace.workspaceFolders[0];
Run Code Online (Sandbox Code Playgroud)
才能得到根源WorkspaceFolder。WorkspaceFolder您可以使用它来获取 a 的绝对路径Uri:
let workspaceRootPath = workspaceRoot.uri.path;
Run Code Online (Sandbox Code Playgroud)
然后你只需"${workspaceRoot}"替换folderPathFromConfig.
总结一下:
let folderPathFromConfig = vscode.workspace.getConfiguration('pasteImage')['path'];
if (vscode.workspace.workspaceFolders !== undefined) { // is undefined if no folder is opened
let workspaceRoot = vscode.workspace.workspaceFolders[0];
folderPathFromConfig = folderPathFromConfig.replace('${workspaceRoot}', workspaceRoot.uri.path);
}
Run Code Online (Sandbox Code Playgroud)