You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code中rust-analyzer的Inlay Hints与代码补全功能失效求助

VS Code中rust-analyzer的Inlay Hints与代码补全功能失效求助

我现在遇到一个头疼的问题:在VS Code里写Rust代码时,不管是输入代码还是移动鼠标指针,都看不到Inlay提示和代码补全功能,但JavaScript的这些功能却能正常工作。而且Rust本身是能正常运行的,比如cargo check的诊断信息也能在IDE里正常显示,偏偏就是这两个功能失效了。

环境版本信息

  • Visual Studio Code:1.92.2
  • rustc版本:rustc 1.83.0-nightly
  • Rust安装方式:Rustup x86_64-windows-msvc nightly
  • 系统:Windows 10 22H2
  • 已安装扩展:rust-analyzer(0.3.2096)

当前相关设置:

{
    "rust-analyzer.discoverProjectRunner": null,
    "rust-analyzer.linkedProjects": [],
    "rust-analyzer.restartServerOnConfigChange": true
}

我记不太清之前哪个版本是正常工作的了...

可能的解决办法

我自己遇到过类似情况,给你几个排查方向试试:

  1. 检查rust-analyzer的核心功能开关
    有时候可能不小心误关了相关设置,你可以打开VS Code的设置(快捷键Ctrl+,),搜索以下选项,确保它们都设为true:

    • rust-analyzer.inlayHints.enable
    • rust-analyzer.completion.enable
      另外也别忘了检查全局的Inlay Hints总开关:editor.inlayHints.enabled,可以设为on或者onUnlessPressed。
  2. 手动重启rust-analyzer服务
    有时候语言服务可能会卡住,按Ctrl+Shift+P打开命令面板,输入rust-analyzer: Restart Server,回车重启服务,很多小问题这样就能解决。

  3. 确认项目是否被正确识别
    你的linkedProjects是空数组,rust-analyzer默认会自动识别Cargo.toml所在的项目,但如果你的项目结构比较特殊(比如工作区有多个子项目却没正确配置),可能需要手动指定项目路径。比如如果你的Cargo.toml在./my-rust-project目录下,可以把设置改成:

    "rust-analyzer.linkedProjects": ["./my-rust-project/Cargo.toml"]
    
  4. 尝试切换rustc版本或更新rust-analyzer
    你当前用的是nightly版本的rustc,有时候nightly版本和rust-analyzer可能存在兼容性问题。可以试试用rustup default stable命令切换到稳定版rustc,或者在VS Code的扩展市场里把rust-analyzer更新到最新版本,看看能不能解决兼容性问题。

  5. 排查扩展冲突
    有时候其他扩展可能会和rust-analyzer冲突,比如旧的Rust相关插件(比如已经废弃的官方Rust扩展),你可以暂时禁用其他非必要的扩展,然后重启VS Code试试。

  6. 重置rust-analyzer设置
    如果上面的方法都没用,可以试试重置rust-analyzer的设置。先备份好当前的自定义配置,然后删除所有rust-analyzer相关的设置项,重启VS Code后再重新配置需要的选项。

备注:内容来源于stack exchange,提问作者Matheus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:39:40