rust-lang / rust-lang/rust-analyzer
Add progress indication for `Updating crates.io index`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
Hello! I recently opened a Rust workspace, and Rust Analyzer just did something for 10 minutes. There was no progress indication, just a "Fetching" (or was it "Fetching index") with a spinner. No 1/X, no x% done, no logs (in VSCode > Tasks > RA).
Since I had no idea what it was doing (what does "Fetching index" mean?), I opened Task manager and killed its cargo progress. For all that I knew, cargo could have been stuck in an infinite loop of some kind. After I did that, RA complained, logging that some cargo command failed to execute, and restarted cargo. And there I was back to waiting, with no progress indication, still having no idea what it was doing.
So what happened? Cargo was Updating crates.io index. It was resolving/downloading 90k deltas since I hadn't used that version of Rust for a while (I have multiple rust tool chains installed), and that took some time. Around 20 minutes. Even on my more commonly-used tool chains, updating the index regularly takes multiple seconds and up to a minute on my machine (I have slow internet).
Please add progress indication for updating the crates.io index.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named in the issue. Start by tracing how rust-analyzer exposes Cargo progress in the VS Code Tasks view, then inspect how the Updating crates.io index phase is surfaced beyond the current spinner. Done means users can tell that the index is being updated and can see meaningful progress while the operation runs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100