lv4*_*lv4 5 rust rust-analyzer
我目前正在制作一个嵌入式系统。为此,我有 2 个不同的恐慌处理程序,具体取决于它是正常运行还是作为测试运行。
#[cfg(test)]
对于测试恐慌处理程序和
#[cfg(not(test))]
正常恐慌处理程序。
rust-analyzer 说:由于 #[cfg] 指令,代码处于非活动状态:测试已启用
并使该功能变灰。测试从未明确设置,因此我不能只是更改它,而且我不想禁用工作区中灰显的非活动代码。
有没有办法禁用 rust-analyzer 检查测试 cfg,或者仅针对此功能禁用灰色
我尝试查找有关测试标志的信息,但找不到任何信息,如果它很重要,我正在使用 VS Code
在 VSCode 的工作区设置中,设置以下内容:
"rust-analyzer.cargo.extraEnv": {
"RUSTFLAGS": "--cfg rust_analyzer"
}
Run Code Online (Sandbox Code Playgroud)
这将启用#[cfg(rust_analyzer)]rust-analyzer 元数据检查。
然后,替换#[cfg(not(test))]为#[cfg(any(not(test), rust_analyzer))]、#[cfg(test)]和#[cfg(all(test, not(rust_analyzer)))]。这将照常禁用和启用测试功能,但在 rust-analyzer 中运行时,仅启用无测试功能。
重要提示:只有当您不需要RUSTFLAGS为您的工作区进行特殊设置时,这才有效。
| 归档时间: |
|
| 查看次数: |
2276 次 |
| 最近记录: |