bors 52143a5ac0 Auto merge of #17246 - davidbarsky:david/move-rust-project-generation-to-server, r=Veykril
feature: teach rust-analyzer to discover `linked_projects`

This PR's been a long-time coming, but like the title says, it introduces server-side project discovery and removes the extension hooks I previously introduced. I don't think this PR is ready to land, but here are the things I'm feeling squishy about:
- I don't think I like the idea of introducing the `cargo-metadata` command-but-for-everything-else in the `flycheck` module, but the progress reporting infrastructure was too convenient to pass up. Happy to move it elsewhere.

Here are the things I _know_ I need to change:
- For progress reporting, I'm extracting from a `serde_json::Value` that corresponds to `tracing_subsciber::fmt::Layer`'s JSON output. I'd like to make this a bit more structured/documented than the current nonsense I wrote.
- The progress reporting currently hardcodes "Buck"; it should be deriving that from the previously mentioned more-structured-output.
- This doesn't handle *reloading* when a corresponding buildfile is changed. It should be doing that.

<details>
<summary>Anyway, here's a video of rust-analyzer discovering a Buck target.</summary>

https://github.com/rust-lang/rust-analyzer/assets/2067774/be6cd9b9-2c9a-402d-847f-05f860a91df1
</details>
2024-07-18 16:15:31 +00:00
..
2024-07-16 13:48:14 +02:00
2022-03-04 07:45:51 +02:00
2022-05-17 18:12:49 +01:00
2022-05-17 18:12:49 +01:00
2024-02-27 15:48:30 +01:00
2020-01-15 16:07:39 +01:00
2021-12-04 12:29:27 +02:00
2022-05-17 18:15:06 +01:00
2022-05-17 18:15:06 +01:00

rust-analyzer

This extension provides support for the Rust programming language. It is recommended over and replaces rust-lang.rust.

Features

Quick start

  1. Install rustup.
  2. Install the rust-analyzer extension.

Configuration

This extension provides configurations through VSCode's configuration settings. All configurations are under rust-analyzer.*.

See the manual for more information on VSCode specific configurations.

Communication

For usage and troubleshooting requests, please use the "IDEs and Editors" category of the Rust forum.

Documentation

See rust-analyzer.github.io for more information.