{"repo":"ethowitz/cargo-subspace","free":true,"listed":false,"github":"https://github.com/ethowitz/cargo-subspace","clone":"git clone https://github.com/ethowitz/cargo-subspace.git","description":"A tool to make rust-analyzer speedier when working with very large cargo workspaces","language":"Rust","stars":74,"topics":["cargo","neovim","rust","rust-analyzer","vscode","devtools","lsp","tools"],"license":"MIT","category":"dev-tools","readme_excerpt":"cargo subspace A tool that forces rust-analyzer to lazily index crates in the workspace as you open new files. It is useful if you have a very large cargo workspace (think hundreds of crates) and you find that rust-analyzer can be slow or laggy as a result. - A note - What the heck is this - Caveats - Installation - VSCode - neovim - Kate - Troubleshooting/Debugging A note I want to preface all of this by saying that rust-analyzer is an amazing project, and I am eternally grateful to the many people who contribute to it! It makes developing rust code a breeze, and it has surely significantly contributed to Rust's widespread adoption. What the heck is this This tool exists to improve the rust-analyzer experience for very large cargo workspaces. Cargo workspaces can contain a (theoretically) unbounded number of crates. Many organizations prefer to maintain a single cargo workspace (e.g. in a monorepo) to keep dependency versions consistent across different services or libraries and simplify tooling. However, rust-analyzer indexes the crates in the cargo workspace pretty eagerly, which can take quite a long time. check.workspace = false and cachePriming.enable = false can help make things a bit lazier, but in my experience, they don't solve the problem entirely. Even after indexing is finished, certain actions, like autocomplete and and finding references to symbols, can be laggy due to the very large dependency graph. Rather than allowing rust-analyzer to discover all the crate","default_branch":null,"files":null,"tree":[],"storefront":"/r/ethowitz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ethowitz/cargo-subspace/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}