mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-29 14:33:29 +00:00
508 lines
17 KiB
Text
508 lines
17 KiB
Text
[[rust-analyzer.assist.importGranularity]]rust-analyzer.assist.importGranularity (default: `"crate"`)::
|
|
+
|
|
--
|
|
How imports should be grouped into use statements.
|
|
--
|
|
[[rust-analyzer.assist.importEnforceGranularity]]rust-analyzer.assist.importEnforceGranularity (default: `false`)::
|
|
+
|
|
--
|
|
Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.
|
|
--
|
|
[[rust-analyzer.assist.importPrefix]]rust-analyzer.assist.importPrefix (default: `"plain"`)::
|
|
+
|
|
--
|
|
The path structure for newly inserted paths to use.
|
|
--
|
|
[[rust-analyzer.assist.importGroup]]rust-analyzer.assist.importGroup (default: `true`)::
|
|
+
|
|
--
|
|
Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.
|
|
--
|
|
[[rust-analyzer.assist.allowMergingIntoGlobImports]]rust-analyzer.assist.allowMergingIntoGlobImports (default: `true`)::
|
|
+
|
|
--
|
|
Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.
|
|
--
|
|
[[rust-analyzer.cache.warmup]]rust-analyzer.cache.warmup (default: `true`)::
|
|
+
|
|
--
|
|
Warm up caches on project load.
|
|
--
|
|
[[rust-analyzer.callInfo.full]]rust-analyzer.callInfo.full (default: `true`)::
|
|
+
|
|
--
|
|
Show function name and docs in parameter hints.
|
|
--
|
|
[[rust-analyzer.cargo.autoreload]]rust-analyzer.cargo.autoreload (default: `true`)::
|
|
+
|
|
--
|
|
Automatically refresh project info via `cargo metadata` on
|
|
`Cargo.toml` changes.
|
|
--
|
|
[[rust-analyzer.cargo.allFeatures]]rust-analyzer.cargo.allFeatures (default: `false`)::
|
|
+
|
|
--
|
|
Activate all available features (`--all-features`).
|
|
--
|
|
[[rust-analyzer.cargo.unsetTest]]rust-analyzer.cargo.unsetTest (default: `["core"]`)::
|
|
+
|
|
--
|
|
Unsets `#[cfg(test)]` for the specified crates.
|
|
--
|
|
[[rust-analyzer.cargo.features]]rust-analyzer.cargo.features (default: `[]`)::
|
|
+
|
|
--
|
|
List of features to activate.
|
|
--
|
|
[[rust-analyzer.cargo.runBuildScripts]]rust-analyzer.cargo.runBuildScripts (default: `true`)::
|
|
+
|
|
--
|
|
Run build scripts (`build.rs`) for more precise code analysis.
|
|
--
|
|
[[rust-analyzer.cargo.useRustcWrapperForBuildScripts]]rust-analyzer.cargo.useRustcWrapperForBuildScripts (default: `true`)::
|
|
+
|
|
--
|
|
Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to
|
|
avoid compiling unnecessary things.
|
|
--
|
|
[[rust-analyzer.cargo.noDefaultFeatures]]rust-analyzer.cargo.noDefaultFeatures (default: `false`)::
|
|
+
|
|
--
|
|
Do not activate the `default` feature.
|
|
--
|
|
[[rust-analyzer.cargo.target]]rust-analyzer.cargo.target (default: `null`)::
|
|
+
|
|
--
|
|
Compilation target (target triple).
|
|
--
|
|
[[rust-analyzer.cargo.noSysroot]]rust-analyzer.cargo.noSysroot (default: `false`)::
|
|
+
|
|
--
|
|
Internal config for debugging, disables loading of sysroot crates.
|
|
--
|
|
[[rust-analyzer.checkOnSave.enable]]rust-analyzer.checkOnSave.enable (default: `true`)::
|
|
+
|
|
--
|
|
Run specified `cargo check` command for diagnostics on save.
|
|
--
|
|
[[rust-analyzer.checkOnSave.allFeatures]]rust-analyzer.checkOnSave.allFeatures (default: `null`)::
|
|
+
|
|
--
|
|
Check with all features (`--all-features`).
|
|
Defaults to `#rust-analyzer.cargo.allFeatures#`.
|
|
--
|
|
[[rust-analyzer.checkOnSave.allTargets]]rust-analyzer.checkOnSave.allTargets (default: `true`)::
|
|
+
|
|
--
|
|
Check all targets and tests (`--all-targets`).
|
|
--
|
|
[[rust-analyzer.checkOnSave.command]]rust-analyzer.checkOnSave.command (default: `"check"`)::
|
|
+
|
|
--
|
|
Cargo command to use for `cargo check`.
|
|
--
|
|
[[rust-analyzer.checkOnSave.noDefaultFeatures]]rust-analyzer.checkOnSave.noDefaultFeatures (default: `null`)::
|
|
+
|
|
--
|
|
Do not activate the `default` feature.
|
|
--
|
|
[[rust-analyzer.checkOnSave.target]]rust-analyzer.checkOnSave.target (default: `null`)::
|
|
+
|
|
--
|
|
Check for a specific target. Defaults to
|
|
`#rust-analyzer.cargo.target#`.
|
|
--
|
|
[[rust-analyzer.checkOnSave.extraArgs]]rust-analyzer.checkOnSave.extraArgs (default: `[]`)::
|
|
+
|
|
--
|
|
Extra arguments for `cargo check`.
|
|
--
|
|
[[rust-analyzer.checkOnSave.features]]rust-analyzer.checkOnSave.features (default: `null`)::
|
|
+
|
|
--
|
|
List of features to activate. Defaults to
|
|
`#rust-analyzer.cargo.features#`.
|
|
--
|
|
[[rust-analyzer.checkOnSave.overrideCommand]]rust-analyzer.checkOnSave.overrideCommand (default: `null`)::
|
|
+
|
|
--
|
|
Advanced option, fully override the command rust-analyzer uses for
|
|
checking. The command should include `--message-format=json` or
|
|
similar option.
|
|
--
|
|
[[rust-analyzer.completion.addCallArgumentSnippets]]rust-analyzer.completion.addCallArgumentSnippets (default: `true`)::
|
|
+
|
|
--
|
|
Whether to add argument snippets when completing functions.
|
|
Only applies when `#rust-analyzer.completion.addCallParenthesis#` is set.
|
|
--
|
|
[[rust-analyzer.completion.addCallParenthesis]]rust-analyzer.completion.addCallParenthesis (default: `true`)::
|
|
+
|
|
--
|
|
Whether to add parenthesis when completing functions.
|
|
--
|
|
[[rust-analyzer.completion.snippets]]rust-analyzer.completion.snippets (default: `{
|
|
"Arc::new": {
|
|
"postfix": "arc",
|
|
"body": "Arc::new(${receiver})",
|
|
"requires": "std::sync::Arc",
|
|
"description": "Put the expression into an `Arc`",
|
|
"scope": "expr"
|
|
},
|
|
"Rc::new": {
|
|
"postfix": "rc",
|
|
"body": "Rc::new(${receiver})",
|
|
"requires": "std::rc::Rc",
|
|
"description": "Put the expression into an `Rc`",
|
|
"scope": "expr"
|
|
},
|
|
"Box::pin": {
|
|
"postfix": "pinbox",
|
|
"body": "Box::pin(${receiver})",
|
|
"requires": "std::boxed::Box",
|
|
"description": "Put the expression into a pinned `Box`",
|
|
"scope": "expr"
|
|
},
|
|
"Ok": {
|
|
"postfix": "ok",
|
|
"body": "Ok(${receiver})",
|
|
"description": "Wrap the expression in a `Result::Ok`",
|
|
"scope": "expr"
|
|
},
|
|
"Err": {
|
|
"postfix": "err",
|
|
"body": "Err(${receiver})",
|
|
"description": "Wrap the expression in a `Result::Err`",
|
|
"scope": "expr"
|
|
},
|
|
"Some": {
|
|
"postfix": "some",
|
|
"body": "Some(${receiver})",
|
|
"description": "Wrap the expression in an `Option::Some`",
|
|
"scope": "expr"
|
|
}
|
|
}`)::
|
|
+
|
|
--
|
|
Custom completion snippets.
|
|
--
|
|
[[rust-analyzer.completion.postfix.enable]]rust-analyzer.completion.postfix.enable (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show postfix snippets like `dbg`, `if`, `not`, etc.
|
|
--
|
|
[[rust-analyzer.completion.autoimport.enable]]rust-analyzer.completion.autoimport.enable (default: `true`)::
|
|
+
|
|
--
|
|
Toggles the additional completions that automatically add imports when completed.
|
|
Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.
|
|
--
|
|
[[rust-analyzer.completion.autoself.enable]]rust-analyzer.completion.autoself.enable (default: `true`)::
|
|
+
|
|
--
|
|
Toggles the additional completions that automatically show method calls and field accesses
|
|
with `self` prefixed to them when inside a method.
|
|
--
|
|
[[rust-analyzer.diagnostics.enable]]rust-analyzer.diagnostics.enable (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show native rust-analyzer diagnostics.
|
|
--
|
|
[[rust-analyzer.diagnostics.enableExperimental]]rust-analyzer.diagnostics.enableExperimental (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show experimental rust-analyzer diagnostics that might
|
|
have more false positives than usual.
|
|
--
|
|
[[rust-analyzer.diagnostics.disabled]]rust-analyzer.diagnostics.disabled (default: `[]`)::
|
|
+
|
|
--
|
|
List of rust-analyzer diagnostics to disable.
|
|
--
|
|
[[rust-analyzer.diagnostics.remapPrefix]]rust-analyzer.diagnostics.remapPrefix (default: `{}`)::
|
|
+
|
|
--
|
|
Map of prefixes to be substituted when parsing diagnostic file paths.
|
|
This should be the reverse mapping of what is passed to `rustc` as `--remap-path-prefix`.
|
|
--
|
|
[[rust-analyzer.diagnostics.warningsAsHint]]rust-analyzer.diagnostics.warningsAsHint (default: `[]`)::
|
|
+
|
|
--
|
|
List of warnings that should be displayed with hint severity.
|
|
|
|
The warnings will be indicated by faded text or three dots in code
|
|
and will not show up in the `Problems Panel`.
|
|
--
|
|
[[rust-analyzer.diagnostics.warningsAsInfo]]rust-analyzer.diagnostics.warningsAsInfo (default: `[]`)::
|
|
+
|
|
--
|
|
List of warnings that should be displayed with info severity.
|
|
|
|
The warnings will be indicated by a blue squiggly underline in code
|
|
and a blue icon in the `Problems Panel`.
|
|
--
|
|
[[rust-analyzer.experimental.procAttrMacros]]rust-analyzer.experimental.procAttrMacros (default: `true`)::
|
|
+
|
|
--
|
|
Expand attribute macros.
|
|
--
|
|
[[rust-analyzer.files.watcher]]rust-analyzer.files.watcher (default: `"client"`)::
|
|
+
|
|
--
|
|
Controls file watching implementation.
|
|
--
|
|
[[rust-analyzer.files.excludeDirs]]rust-analyzer.files.excludeDirs (default: `[]`)::
|
|
+
|
|
--
|
|
These directories will be ignored by rust-analyzer. They are
|
|
relative to the workspace root, and globs are not supported. You may
|
|
also need to add the folders to Code's `files.watcherExclude`.
|
|
--
|
|
[[rust-analyzer.highlightRelated.references]]rust-analyzer.highlightRelated.references (default: `true`)::
|
|
+
|
|
--
|
|
Enables highlighting of related references while hovering your mouse above any identifier.
|
|
--
|
|
[[rust-analyzer.highlightRelated.exitPoints]]rust-analyzer.highlightRelated.exitPoints (default: `true`)::
|
|
+
|
|
--
|
|
Enables highlighting of all exit points while hovering your mouse above any `return`, `?`, or return type arrow (`->`).
|
|
--
|
|
[[rust-analyzer.highlightRelated.breakPoints]]rust-analyzer.highlightRelated.breakPoints (default: `true`)::
|
|
+
|
|
--
|
|
Enables highlighting of related references while hovering your mouse `break`, `loop`, `while`, or `for` keywords.
|
|
--
|
|
[[rust-analyzer.highlightRelated.yieldPoints]]rust-analyzer.highlightRelated.yieldPoints (default: `true`)::
|
|
+
|
|
--
|
|
Enables highlighting of all break points for a loop or block context while hovering your mouse above any `async` or `await` keywords.
|
|
--
|
|
[[rust-analyzer.highlighting.strings]]rust-analyzer.highlighting.strings (default: `true`)::
|
|
+
|
|
--
|
|
Use semantic tokens for strings.
|
|
|
|
In some editors (e.g. vscode) semantic tokens override other highlighting grammars.
|
|
By disabling semantic tokens for strings, other grammars can be used to highlight
|
|
their contents.
|
|
--
|
|
[[rust-analyzer.hover.documentation]]rust-analyzer.hover.documentation (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show documentation on hover.
|
|
--
|
|
[[rust-analyzer.hover.linksInHover]]rust-analyzer.hover.linksInHover (default: `true`)::
|
|
+
|
|
--
|
|
Use markdown syntax for links in hover.
|
|
--
|
|
[[rust-analyzer.hoverActions.debug]]rust-analyzer.hoverActions.debug (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `Debug` action. Only applies when
|
|
`#rust-analyzer.hoverActions.enable#` is set.
|
|
--
|
|
[[rust-analyzer.hoverActions.enable]]rust-analyzer.hoverActions.enable (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show HoverActions in Rust files.
|
|
--
|
|
[[rust-analyzer.hoverActions.gotoTypeDef]]rust-analyzer.hoverActions.gotoTypeDef (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `Go to Type Definition` action. Only applies when
|
|
`#rust-analyzer.hoverActions.enable#` is set.
|
|
--
|
|
[[rust-analyzer.hoverActions.implementations]]rust-analyzer.hoverActions.implementations (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `Implementations` action. Only applies when
|
|
`#rust-analyzer.hoverActions.enable#` is set.
|
|
--
|
|
[[rust-analyzer.hoverActions.references]]rust-analyzer.hoverActions.references (default: `false`)::
|
|
+
|
|
--
|
|
Whether to show `References` action. Only applies when
|
|
`#rust-analyzer.hoverActions.enable#` is set.
|
|
--
|
|
[[rust-analyzer.hoverActions.run]]rust-analyzer.hoverActions.run (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `Run` action. Only applies when
|
|
`#rust-analyzer.hoverActions.enable#` is set.
|
|
--
|
|
[[rust-analyzer.inlayHints.chainingHints]]rust-analyzer.inlayHints.chainingHints (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show inlay type hints for method chains.
|
|
--
|
|
[[rust-analyzer.inlayHints.maxLength]]rust-analyzer.inlayHints.maxLength (default: `25`)::
|
|
+
|
|
--
|
|
Maximum length for inlay hints. Set to null to have an unlimited length.
|
|
--
|
|
[[rust-analyzer.inlayHints.parameterHints]]rust-analyzer.inlayHints.parameterHints (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show function parameter name inlay hints at the call
|
|
site.
|
|
--
|
|
[[rust-analyzer.inlayHints.typeHints]]rust-analyzer.inlayHints.typeHints (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show inlay type hints for variables.
|
|
--
|
|
[[rust-analyzer.inlayHints.hideNamedConstructorHints]]rust-analyzer.inlayHints.hideNamedConstructorHints (default: `false`)::
|
|
+
|
|
--
|
|
Whether to hide inlay hints for constructors.
|
|
--
|
|
[[rust-analyzer.joinLines.joinElseIf]]rust-analyzer.joinLines.joinElseIf (default: `true`)::
|
|
+
|
|
--
|
|
Join lines inserts else between consecutive ifs.
|
|
--
|
|
[[rust-analyzer.joinLines.removeTrailingComma]]rust-analyzer.joinLines.removeTrailingComma (default: `true`)::
|
|
+
|
|
--
|
|
Join lines removes trailing commas.
|
|
--
|
|
[[rust-analyzer.joinLines.unwrapTrivialBlock]]rust-analyzer.joinLines.unwrapTrivialBlock (default: `true`)::
|
|
+
|
|
--
|
|
Join lines unwraps trivial blocks.
|
|
--
|
|
[[rust-analyzer.joinLines.joinAssignments]]rust-analyzer.joinLines.joinAssignments (default: `true`)::
|
|
+
|
|
--
|
|
Join lines merges consecutive declaration and initialization of an assignment.
|
|
--
|
|
[[rust-analyzer.lens.debug]]rust-analyzer.lens.debug (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `Debug` lens. Only applies when
|
|
`#rust-analyzer.lens.enable#` is set.
|
|
--
|
|
[[rust-analyzer.lens.enable]]rust-analyzer.lens.enable (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show CodeLens in Rust files.
|
|
--
|
|
[[rust-analyzer.lens.implementations]]rust-analyzer.lens.implementations (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `Implementations` lens. Only applies when
|
|
`#rust-analyzer.lens.enable#` is set.
|
|
--
|
|
[[rust-analyzer.lens.run]]rust-analyzer.lens.run (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `Run` lens. Only applies when
|
|
`#rust-analyzer.lens.enable#` is set.
|
|
--
|
|
[[rust-analyzer.lens.methodReferences]]rust-analyzer.lens.methodReferences (default: `false`)::
|
|
+
|
|
--
|
|
Whether to show `Method References` lens. Only applies when
|
|
`#rust-analyzer.lens.enable#` is set.
|
|
--
|
|
[[rust-analyzer.lens.references]]rust-analyzer.lens.references (default: `false`)::
|
|
+
|
|
--
|
|
Whether to show `References` lens for Struct, Enum, Union and Trait.
|
|
Only applies when `#rust-analyzer.lens.enable#` is set.
|
|
--
|
|
[[rust-analyzer.lens.enumVariantReferences]]rust-analyzer.lens.enumVariantReferences (default: `false`)::
|
|
+
|
|
--
|
|
Whether to show `References` lens for Enum Variants.
|
|
Only applies when `#rust-analyzer.lens.enable#` is set.
|
|
--
|
|
[[rust-analyzer.lens.forceCustomCommands]]rust-analyzer.lens.forceCustomCommands (default: `true`)::
|
|
+
|
|
--
|
|
Internal config: use custom client-side commands even when the
|
|
client doesn't set the corresponding capability.
|
|
--
|
|
[[rust-analyzer.linkedProjects]]rust-analyzer.linkedProjects (default: `[]`)::
|
|
+
|
|
--
|
|
Disable project auto-discovery in favor of explicitly specified set
|
|
of projects.
|
|
|
|
Elements must be paths pointing to `Cargo.toml`,
|
|
`rust-project.json`, or JSON objects in `rust-project.json` format.
|
|
--
|
|
[[rust-analyzer.lruCapacity]]rust-analyzer.lruCapacity (default: `null`)::
|
|
+
|
|
--
|
|
Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.
|
|
--
|
|
[[rust-analyzer.notifications.cargoTomlNotFound]]rust-analyzer.notifications.cargoTomlNotFound (default: `true`)::
|
|
+
|
|
--
|
|
Whether to show `can't find Cargo.toml` error message.
|
|
--
|
|
[[rust-analyzer.procMacro.enable]]rust-analyzer.procMacro.enable (default: `true`)::
|
|
+
|
|
--
|
|
Enable support for procedural macros, implies `#rust-analyzer.cargo.runBuildScripts#`.
|
|
--
|
|
[[rust-analyzer.procMacro.server]]rust-analyzer.procMacro.server (default: `null`)::
|
|
+
|
|
--
|
|
Internal config, path to proc-macro server executable (typically,
|
|
this is rust-analyzer itself, but we override this in tests).
|
|
--
|
|
[[rust-analyzer.runnables.overrideCargo]]rust-analyzer.runnables.overrideCargo (default: `null`)::
|
|
+
|
|
--
|
|
Command to be executed instead of 'cargo' for runnables.
|
|
--
|
|
[[rust-analyzer.runnables.cargoExtraArgs]]rust-analyzer.runnables.cargoExtraArgs (default: `[]`)::
|
|
+
|
|
--
|
|
Additional arguments to be passed to cargo for runnables such as
|
|
tests or binaries. For example, it may be `--release`.
|
|
--
|
|
[[rust-analyzer.rustcSource]]rust-analyzer.rustcSource (default: `null`)::
|
|
+
|
|
--
|
|
Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private
|
|
projects, or "discover" to try to automatically find it if the `rustc-dev` component
|
|
is installed.
|
|
|
|
Any project which uses rust-analyzer with the rustcPrivate
|
|
crates must set `[package.metadata.rust-analyzer] rustc_private=true` to use it.
|
|
|
|
This option does not take effect until rust-analyzer is restarted.
|
|
--
|
|
[[rust-analyzer.rustfmt.extraArgs]]rust-analyzer.rustfmt.extraArgs (default: `[]`)::
|
|
+
|
|
--
|
|
Additional arguments to `rustfmt`.
|
|
--
|
|
[[rust-analyzer.rustfmt.overrideCommand]]rust-analyzer.rustfmt.overrideCommand (default: `null`)::
|
|
+
|
|
--
|
|
Advanced option, fully override the command rust-analyzer uses for
|
|
formatting.
|
|
--
|
|
[[rust-analyzer.rustfmt.enableRangeFormatting]]rust-analyzer.rustfmt.enableRangeFormatting (default: `false`)::
|
|
+
|
|
--
|
|
Enables the use of rustfmt's unstable range formatting command for the
|
|
`textDocument/rangeFormatting` request. The rustfmt option is unstable and only
|
|
available on a nightly build.
|
|
--
|
|
[[rust-analyzer.workspace.symbol.search.scope]]rust-analyzer.workspace.symbol.search.scope (default: `"workspace"`)::
|
|
+
|
|
--
|
|
Workspace symbol search scope.
|
|
--
|
|
[[rust-analyzer.workspace.symbol.search.kind]]rust-analyzer.workspace.symbol.search.kind (default: `"only_types"`)::
|
|
+
|
|
--
|
|
Workspace symbol search kind.
|
|
--
|