Auto merge of #28702 - teymour-aldridge:rust-analyzer, r=jdm

Add vscode/rust-analyzer info.

I _think_ this configuration works.

Maybe someone else can test and confirm?
This commit is contained in:
bors-servo 2022-03-27 18:29:53 -04:00 committed by GitHub
commit 85d73ab91b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -134,6 +134,49 @@ Both will tell any cargo project to not use the online version of the dependency
For more details about overriding dependencies, see [Cargo's documentation](https://doc.crates.io/specifying-dependencies.html#overriding-dependencies).
## Editor support
### Visual Studio Code
Running plain `cargo` will cause problems! This is because the rustflags (flags passed to the rust compiler) that
standard `cargo` provides are different to what `./mach` uses, and so every time Servo is built using `cargo` it will
undo all the work done by `./mach` (and vice versa).
You can override this in a `.vscode/settings.json` file:
```
{
"rust-analyzer.checkOnSave.overrideCommand": [
"./mach",
"check",
"--message-format=json",
],
"rust-analyzer.rustfmt.overrideCommand": [
"./mach",
"fmt"
],
}
```
If that still causes problems, then supplying a different target directory should fix this (although it will increase
the amount of disc space used).
```
{
"rust-analyzer.checkOnSave.overrideCommand": [
"./mach",
"check",
"--message-format=json",
"--target-dir",
"target/lsp"
],
"rust-analyzer.rustfmt.overrideCommand": [
"./mach",
"fmt"
],
}
```
## Debugging
### Logging: