2017-05-15 10 views
1

私は、拡張子が./vscode/settings.jsonファイルからpasteImage.parth変数を読み取る必要がvscodeの拡張子を書いしよう拡張機能はどのようにしてVSCodeの設定変数を拡張できますか?

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

私が取得するvscode.workspace.getConfiguration()関数を使用してみてくださいこのような変数:

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

しかし、それは「$ {workspaceRoot} /資産/画像」を得たが、私は$ {workspaceRootは}私は何をすべき、ワークスペース・ルートの実際のパスに拡張をしたいですか?

ありがとうございました!

答えて

0

vscode extensibility documentationによると、あなたはルートWorkspaceFolderを取得するために

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

を使用することができます。あなたはそのUriを使用してWorkspaceFolderの絶対パスを取得することができます:

let workspaceRootPath = workspaceRoot.uri.path; 

次に、あなただけのfolderPathFromConfig"${workspaceRoot}"サブ文字列を置換します。
結論として:

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); 
} 
関連する問題