Find package I need and copy it's name and version and paste it into Cargo.toml
Which takes a lot of time. It may seem like a trivial thing to do, but
I am just too spoiled by c# that I can find package I need and install any of it's versions without leaving my IDE (nuget and it's vs code extensions is cool btw).
I need something like this
cargo crate add rand
--- finds a rand crate ---
--- finds a rand version that does not conflict with my current dependencies ---
--- if not found tells me that maybe I misspelled name and suggest similar ---
--- adds rand to Cargo.toml ---
And maybe something like this
cargo crate search rand
--- search for crates similar names and give me their short descriptions ---
finds a rand version that does not conflict with my current dependencies
The only conflict-avoidance cargo-add does is that it will reuse a version for a dependency that it finds in another dependency table (e.g. cargo add --build rand and later doing a cargo add --dev rand).
If people have ideas on how to further avoid conflicts, I'd recommend opening an issue. Maybe once we get public dependencies, we could rely on those (commented on the tracking issue).
if not found tells me that maybe I misspelled name and suggest similar
Worth mentioning that (if you're willing to pay for an ide), Jetbrains' Rust support includes pretty good completion on cargo.toml, which means you don't need to go anywhere if you already have an idea of the crate name or lookup the version.