.agents/skills/risingwave-rust-analyzer/references/rust-analyzer-cli.md
rust-analyzer diagnostics .
rust-analyzer unresolved-references .
rust-analyzer analysis-stats . --parallel
rust-analyzer analysis-stats . -o src/meta/src/manager/catalog/mod.rs
rust-analyzer prime-caches .
rust-analyzer search '$a.foo($b)'
rust-analyzer ssr '$a.foo($b) ==>> bar($a, $b)'
cat path/to/file.rs | rust-analyzer parse
cat path/to/file.rs | rust-analyzer symbols
rust-toolchain and .cargo/config.toml.rust-analyzer.cargo.buildScripts.enable = true.rust-analyzer.procMacro.enable = true.rust-analyzer --print-config-schema exposes:
rust-analyzer.cargo.featuresrust-analyzer.cargo.noDefaultFeaturesrust-analyzer.check.featuresrust-analyzer.check.noDefaultFeaturesrust-analyzer.check.overrideCommandrust-analyzer.linkedProjectsThere is no first-class setting for "package A uses features X while package B uses features Y" inside one shared workspace root. Treat features as a linked-project-level concern.
Open the crate directory or its Cargo.toml if one package needs a special feature set and you do not need full-workspace context.
Use separate editor workspaces or linked projects when different crates need different feature sets.
Use rust-analyzer.check.overrideCommand to align save-time diagnostics with a specific package:
{
"rust-analyzer.check.overrideCommand": [
"cargo",
"check",
"-p",
"risingwave_meta",
"--features",
"test",
"--all-targets",
"--message-format=json"
]
}
Use --no-default-features when needed:
{
"rust-analyzer.check.overrideCommand": [
"cargo",
"check",
"-p",
"risingwave_connector",
"--no-default-features",
"--features",
"sink-doris",
"--all-targets",
"--message-format=json"
]
}
When feature selection matters:
scripts/list-crate-features.sh <package>.cargo check -p <package> ....