-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Opening a project of a workspace checks the whole workspace #3975
Comments
#2792 may be another solution to the first part (though I'm not sure how it would behave with the warnings), but it doesn't do anything for the "other benefits". |
The current workaround is to set |
What's the original command and how should I set it so that it checks in the root of my project ? (I wouldn't want to remove any other important parameters) |
Original one is |
I tried setting: {
"rust-analyzer.checkOnSave.overrideCommand": [
"cargo",
"check",
"--message-format=json"
]
} and it seems to still check the whole workspace. :( |
That’s the base command, yeah, you need to add -p some-package no top of it to narrow it to a single package |
Oh that's awful, I'd have to change everytime I open a project :( |
I'm trying to make this work with {
"rust-analyzer.checkOnSave.extraArgs": [
"-p",
"some_crate",
],
"rust-analyzer.cargo.allFeatures": true
} seems to still check the whole workspace. |
So maybe a wrapper script to infer the current project and add the |
Alas, I can find no way to detect the package since the cwd is the workspace... |
I have a workspace which contains a large number of crates.
Say I need to do the following, in that order:
(A and B do not depend on each other)
When I try to completely update crate A, I can't see warnings and in general I get errors from project B, which I haven't fixed yet. This is due to rust-analyzer watching the whole workspace, even though I have only opened the root of A, and the
Cargo.toml
at the root of my folder is that of A.I would expect that the current behaviour only happens when I open my workspace folder, and that when I open a single project it doesn't try to build the whole workspace, allowing me to completely fix a crate before moving to the next.
This would also have other benefits:
cargo check
does not behave the same way as individual checks: when running a workspace check, all feature flags required in any crate of the workspace are enabled for every crate of the workspace, while when running a crate check, only the flags required for that specific crate are enabled.The text was updated successfully, but these errors were encountered: