{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/vscode/issues/5089","repository_url":"https://api.github.com/repos/Microsoft/vscode","labels_url":"https://api.github.com/repos/Microsoft/vscode/issues/5089/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/vscode/issues/5089/comments","events_url":"https://api.github.com/repos/Microsoft/vscode/issues/5089/events","html_url":"https://github.com/Microsoft/vscode/issues/5089","id":146802680,"number":5089,"title":"How can an extension use path variables in a settings string that specifies a path?","user":{"login":"rkeithhill","id":5177512,"avatar_url":"https://avatars.githubusercontent.com/u/5177512?v=3","gravatar_id":"","url":"https://api.github.com/users/rkeithhill","html_url":"https://github.com/rkeithhill","followers_url":"https://api.github.com/users/rkeithhill/followers","following_url":"https://api.github.com/users/rkeithhill/following{/other_user}","gists_url":"https://api.github.com/users/rkeithhill/gists{/gist_id}","starred_url":"https://api.github.com/users/rkeithhill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkeithhill/subscriptions","organizations_url":"https://api.github.com/users/rkeithhill/orgs","repos_url":"https://api.github.com/users/rkeithhill/repos","events_url":"https://api.github.com/users/rkeithhill/events{/privacy}","received_events_url":"https://api.github.com/users/rkeithhill/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"bpasero","id":900690,"avatar_url":"https://avatars.githubusercontent.com/u/900690?v=3","gravatar_id":"","url":"https://api.github.com/users/bpasero","html_url":"https://github.com/bpasero","followers_url":"https://api.github.com/users/bpasero/followers","following_url":"https://api.github.com/users/bpasero/following{/other_user}","gists_url":"https://api.github.com/users/bpasero/gists{/gist_id}","starred_url":"https://api.github.com/users/bpasero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bpasero/subscriptions","organizations_url":"https://api.github.com/users/bpasero/orgs","repos_url":"https://api.github.com/users/bpasero/repos","events_url":"https://api.github.com/users/bpasero/events{/privacy}","received_events_url":"https://api.github.com/users/bpasero/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2016-04-08T03:15:57Z","updated_at":"2016-04-29T08:18:41Z","closed_at":"2016-04-08T14:25:22Z","body":"- VSCode Version: 0.10.14-insider\r\n- OS Version: Windows 10 1511\r\n\r\nSteps to Reproduce:\r\n\r\n1. Extension provides a setting which specifies a path to a tool configuration file that ships in the extension's install dir.  \r\n2. We want to allow the user to override this path in either a user setting or a workspace setting.\r\n3. We would rather not require the user have to specify a hard-coded absolute path (C:\\foo\\bar\\...) when they override the setting at either the `user` level or the `workspace` level (.vscode\\settings.json).\r\n4. So how does an extension handle this situation?  Using a naked relative path e.g. `./ScriptAnalyzerSettings.psd1` would be confusing because the meaning of `.` would likely change depending on which setting file is in effect (global, user or workspace).  \r\n5. I would prefer that our extension could ask VSCode to `expand` certain variables for us before sending the `settings path` to the extension (either during extension activation or when a user changes a settings file).  I would like to see these variables available: `${workspaceRoot}`, `${extensionRoot}` and perhaps `${home}`.  \r\n6. The primary scenario I want to see enabled is having a setting value like `\"${workspaceRoot}\\custom-settings.psd1`\" get translated to an absolute path by VSCode and that absolute path is then provided to the extension e.g. `\"C:\\work\\PowerShell\\MyNewModule\\custom-settings.psd1\"`.\r\n\r\ncc @daviwil \r\n"},"comment":{"url":"https://api.github.com/repos/Microsoft/vscode/issues/comments/215656032","html_url":"https://github.com/Microsoft/vscode/issues/5089#issuecomment-215656032","issue_url":"https://api.github.com/repos/Microsoft/vscode/issues/5089","id":215656032,"user":{"login":"bpasero","id":900690,"avatar_url":"https://avatars.githubusercontent.com/u/900690?v=3","gravatar_id":"","url":"https://api.github.com/users/bpasero","html_url":"https://github.com/bpasero","followers_url":"https://api.github.com/users/bpasero/followers","following_url":"https://api.github.com/users/bpasero/following{/other_user}","gists_url":"https://api.github.com/users/bpasero/gists{/gist_id}","starred_url":"https://api.github.com/users/bpasero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bpasero/subscriptions","organizations_url":"https://api.github.com/users/bpasero/orgs","repos_url":"https://api.github.com/users/bpasero/repos","events_url":"https://api.github.com/users/bpasero/events{/privacy}","received_events_url":"https://api.github.com/users/bpasero/received_events","type":"User","site_admin":false},"created_at":"2016-04-29T08:18:41Z","updated_at":"2016-04-29T08:18:41Z","body":"#2809 covers also variables we introduce."}}