This extension is not affiliated with rust-lang/rust-analyzer, and just uses rust-analyzer as an LSP server, together with the installed Rust toolchain. For a list of features, please see the official site and manual.
Download this extension from the Visual Studio Marketplace or get the CI build.
For a superior Rust development experience install the Rust Development Pack (includes this extension along with few other useful extensions).
- Drive developer towards Rust community best practices.
- UI and behavior parity with 'Open Folder' experience for a C# solution with multiple projects (unless it contradicts #1).
- Enhance with Rust community tools sets e.g. fmt, clippy, examples, docs. etc.
- Killer features e.g. ChatGPT integration.
- Workspaces & super workspaces both fully supported (super workspace is a folder with multiple cargo workspaces).
- Intellisense / Auto-complete / Goto definition / Code actions / Find references etc. all features from Rust language server.
- Build, Clean (errors in Error list with details in output window).
- Debug & Run without debugging.
- Run, debug & manage unit tests from test explorer.
- Examples support (run & debug).
- Set additional properties for build / debug / run (e.g. command line arguments).
- Clippy / Fmt integration.
- Comment (Ctrl+K Ctrl+C) & Uncomment (Ctrl+K Ctrl+U)
- Infrastructure features
These features continue to get tested with top Rust OSS projects like cargo, ruffle, iced, geo, ruff, reqwest, wasmtime. There are bugs! 😉
- Cross compilation (wasm, linux, etc.) / build & run on WSL2 / leverage docker.
- Test experience enhancements (document and benchmark tests).
- Basic project templates.
- ChatGPT integration.
- Folder enhancements (icons, context menus).
- crates.io integration.
- cargo management.
If you enjoy using the extension, please give it a ★★★★★ rating on the Visual Studio Marketplace.
Should you encounter bugs or if you have feature requests, head on over to the GitHub repo to open an issue if one doesn't already exist.
Pull requests are also very welcome, since I can't always get around to fixing all bugs myself.
- Open Folder extensibility is pretty much the only documentation apart from the sample code folks have written (see Acknowledgements).
- VS-RustAnalyzer for the inspiration and show how to write an 'Open Folder' extension.
- nodejstools for demonstrating good practices and utilities for writing extensions.
- madskristensen for being an immense store of extensions authoring tips, tricks & techniques.
- develop-vsextension-with-github-actions for the workflow scripts.
- vsixcookbook for the guidance and best practices.