summaryrefslogtreecommitdiff
path: root/vscode/settings.json
blob: 3f894f1efed7386a641bbd17216ca730420aad48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
  // Use the rustup/cargo-installed server rather than the one bundled with
  // the extension, so it tracks the toolchain.
  "rust-analyzer.server.path": "~/.cargo/bin/rust-analyzer",
  "rust-analyzer.restartServerOnConfigChange": true,
  "rust-analyzer.showSyntaxTree": true,
  "rust-analyzer.statusBar.showStatusBar": {
    "documentSelector": [
      { "language": "rust" },
      { "pattern": "**/Cargo.toml" },
      { "pattern": "**/Cargo.lock" },
      { "scheme": "output", "pattern": "extension-output-rust-lang.rust-analyzer*" }
    ]
  },

  // Run clippy instead of plain cargo check on save, so clippy lints appear
  // as editor diagnostics with quick fixes instead of only on the CLI.
  "rust-analyzer.check.command": "clippy",

  "[rust]": {
    // Formatting is rustfmt via rust-analyzer; honors rustfmt.toml if present.
    "editor.defaultFormatter": "rust-lang.rust-analyzer",
    "editor.formatOnSave": true,
    // Applies rust-analyzer's own diagnostic fixes. Fixes originating from
    // cargo check/clippy arrive via flycheck and are NOT covered here - those
    // still need `cargo fix` / `cargo clippy --fix`.
    "editor.codeActionsOnSave": {
      "source.fixAll.rust-analyzer": "explicit"
    }
  }
}