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

如何阻止rust-analyzer变暗嵌入式项目中cfg(test)标记的非活跃代码?

解决rust-analyzer默认启用test cfg导致生产代码置灰的问题

方法1:指定嵌入式目标Target匹配项目环境

  • 打开VS Code设置(快捷键Ctrl+,),搜索rust-analyzer.cargo.target
  • 填入你的嵌入式芯片对应的target,比如thumbv7em-none-eabihf(根据实际架构调整)
  • 保存设置后,rust-analyzer会切换到嵌入式目标的编译上下文,#[cfg(not(test))]的生产代码会自动激活,不会再被置灰

方法2:手动覆盖默认启用的cfg

  • 方式一:通过VS Code设置调整
    打开VS Code设置,搜索rust-analyzer.cargo.extraArgs,将其设置为["--cfg=not(test)"],强制rust-analyzer不启用test cfg
  • 方式二:通过项目配置文件全局生效
    在项目根目录的.cargo/config.toml中添加以下内容:
    [build]
    rustflags = ["--cfg=not(test)"]
    
    这样无论是cargo编译还是rust-analyzer检查,都会默认排除test cfg

方法3:临时切换代码检查模式

  • 打开VS Code命令面板(快捷键Ctrl+Shift+P),输入Rust Analyzer: Switch Active Config
  • 选择default模式,即可临时切换到正常编译配置,生产代码恢复高亮

内容的提问来源于stack exchange,提问作者lv4

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:55:21