从 2020-12-09 开始,VSCode 的 Rust Analyzer 扩展不再为我加载。启动时,它会打印出以下错误消息:
无法激活 rust-analyzer:引导错误。查看“OUTPUT > Rust Analyzer Client”中的日志(应该会自动打开)。要启用详细日志,请使用 { "rust-analyzer.trace.extension": true }
启用扩展跟踪会在失败之前产生以下诊断:
INFO [12/10/2020, 10:03:22 AM]: Using server binary at c:\Users\<user>\AppData\Roaming\Code\User\globalStorage\matklad.rust-analyzer\rust-analyzer-windows.exe DEBUG [12/10/2020, 10:03:22 AM]: Checking availability of a binary at c:\Users\<user>\AppData\Roaming\Code\User\globalStorage\matklad.rust-analyzer\rust-analyzer-windows.exe DEBUG [12/10/2020, 10:03:22 AM]: c:\Users\<user>\AppData\Roaming\Code\User\globalStorage\matklad.rust-analyzer\rust-analyzer-windows.exe --version: { status: 3221225506, signal: null, output: [ null, '', '' ], pid: 1648, stdout: '', stderr: '' }
<user>
我用来登录系统的用户帐户的名称在哪里1。
status
错误诊断 (3221225506) 中报告的值转换为 0xC0000022 ( STATUS_ACCESS_DENIED
)。从 VSCode 的集成终端中导航到二进制文件并尝试执行rust-analyzer-windows.exe --version
不会产生任何输出,这似乎恢复了从 VSCode 运行此可执行文件被某种方式阻止。
从 VSCode 中执行服务器二进制文件的访问权限似乎发生了一些变化。在 Rust Analyzer 工作和 Rust Analyzer 不再工作之间,我没有更新 Rust、rustup、VSCode 或任何扩展。
不过,我确实为基于 x64 的系统的 Windows 10 版本 20H2 (KB4592438) 安装了 2020-12 累积更新,并且 Rust Analyzer 开始失败的时间与安装更新的时间一致。这可能只是一个巧合。
我可以采取哪些其他步骤来解决问题的根本原因,以及如何让 Rust Analyzer 再次工作?
版本信息:
- Rust 分析器(稳定):v0.2.408
- Windows 10 专业版:版本 10.0.19042 内部版本 19042
- VSCode:1.51.1(用户设置)
1 这也是运行 VSCode 的用户帐户,包括其所有衍生的进程。从在此帐户下运行的命令提示符导航到该路径会显示存在rust-analyzer-windows.exe ,并且执行rust-analyzer-windows.exe --version
会按预期打印版本标识符。