Arch Linux下VS Code中如何配置Haskell扩展的可执行文件搜索路径?
解决Arch Linux下VS Code Haskell扩展找不到HLS的问题
方法1:直接指定HLS路径
打开VS Code设置(快捷键Ctrl+,),搜索Haskell: Server Path,在输入框里填写HLS的绝对路径,比如:~/.ghcup/bin/haskell-language-server
如果你的HLS是带版本号的可执行文件(比如haskell-language-server-9.6.3),直接填对应文件名的完整路径即可。
方法2:让VS Code继承系统PATH
Arch Linux下通过桌面启动器打开VS Code时,默认不会读取.bashrc的环境变量配置,你可以这样处理:
- 把
export PATH="$HOME/.ghcup/bin:$PATH"添加到~/.bash_profile文件中,然后重启桌面会话或系统 - 或者修改VS Code的桌面启动器:
- 复制系统启动器文件到用户目录:
cp /usr/share/applications/code.desktop ~/.local/share/applications/ - 编辑这个文件,找到
Exec=开头的行,修改为:Exec=bash -c "PATH=$HOME/.ghcup/bin:$PATH code %F" - 保存后重新通过桌面启动器打开VS Code
- 复制系统启动器文件到用户目录:
方法3:通过VS Code配置文件添加PATH
打开VS Code的settings.json(快捷键Ctrl+Shift+P,输入Open Settings (JSON)打开),添加以下配置:
"terminal.integrated.env.linux": { "PATH": "${env:PATH}:${env:HOME}/.ghcup/bin" }, "haskell.serverEnvironment": { "PATH": "${env:PATH}:${env:HOME}/.ghcup/bin" }
这个配置会同时给VS Code终端和Haskell扩展注入指定路径。
验证配置
设置完成后,通过Ctrl+Shift+P输入Haskell: Show Log打开扩展日志,检查日志里的PATH变量是否包含~/.ghcup/bin,同时确认HLS是否能正常启动。
内容的提问来源于stack exchange,提问作者composerMike
相关产品推荐
相关产品推荐

