haskell / haskell/vscode-haskell
haskell.manageHLS = "PATH" ignored on initial startup
- 主要语言
- TypeScript
- 星标
- 597
- 派生
- 98
- PR 合并指标
- 30 天内没有已合并 PR
描述
### Your environment
MacOS
### Steps to reproduce
run vscode with
```
code --user-data-dir {empty_dir} --extensions-dir {empty_dir} .
```
with devcontainer.json having
```
"settings": {
"haskell.manageHLS": "PATH",
```
### Expected behaviour
The "How do you want the extension to manage/discover HLS and the relevant toolchain?" popup window should not appear.
### Actual behaviour
The popup window will appear.
### Include debug information
According to:
https://github.com/haskell/vscode-haskell/blob/3a8d51f0b15b0a49e98ce47a7786e4bf71c6fbbc/src/hlsBinaries.ts#L350
```
async function promptUserForManagingHls(context: ExtensionContext, manageHlsSetting: ManageHLS): Promise {
if (manageHlsSetting !== 'GHCup' && (!context.globalState.get('pluginInitialized') as boolean | null)) {
const promptMessage = `How do you want the extension to manage/discover HLS and the relevant toolchain?
Choose "Automatically" if you're in doubt.
`;
```
I have set manageHlsSetting to "PATH" in the devcontainer.json.
It does not equal to "GHCup", so the first part of the condition is true.
The plugin has not been initialized, so the second part of the condition is also true.
Hence the popup window will appear.
Workaround:
Set manageHlsSetting to "GHCup" in the devcontainer.json,
and set all the keys in "haskell.toolchain" to null to mimic the "PATH" behavior.
贡献指南
评估
这个 Issue 还没有评估数据。