2020-11-02
Rust Analyzer Options
type: ['null', 'integer']
minimum: 0 Number of syntax trees
rust-analyzer keeps in memory.
| key | value |
|---|---|
| exclusiveMinimum | True |
type: string
default: client Controls file
watching implementation.
| key | value |
|---|---|
| enum | [‘client’, ‘notify’] |
type: array
default: [] Paths to exclude from
analysis.
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
type: boolean
default: True Whether to show
can't find Cargo.toml error message
type: boolean
default: True Automatically refresh
project info via cargo metadata on Cargo.toml changes
type: boolean
default: False Do not activate the
default feature
type: boolean
default: False Activate all available
features
type: array
default: [] List of features to
activate
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
type: boolean
default: False Run
cargo check on startup to get the correct value for package
OUT_DIRs
type: ['null', 'string'] Specify
the compilation target
type: array
default: [] Additional arguments to
rustfmt
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
type: ['null', 'array'] Advanced
option, fully override the command rust-analyzer uses for
formatting.
| key | value |
|---|---|
| items | {‘type’: ‘string’, ‘minItems’: 1} |
type: boolean
default: True Run specified
cargo check command for diagnostics on save
type: array
default: [] Extra arguments for
cargo check
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
type: string
default: check Cargo command to use
for cargo check
type: ['null', 'array'] Advanced
option, fully override the command rust-analyzer uses for checking. The
command should include --message-format=json or similar
option.
| key | value |
|---|---|
| items | {‘type’: ‘string’, ‘minItems’: 1} |
type: boolean
default: True Check all targets and
tests (will be passed as --all-targets)
type: ['null', 'boolean'] Do not
activate the default feature
type: ['null', 'boolean'] Check
with all features (will be passed as --all-features).
Defaults to rust-analyzer.cargo.allFeatures.
type: ['null', 'array'] List of
features to activate. Defaults to
rust-analyzer.cargo.features.
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
type: ['null', 'string'] Check for
a specific target. Defaults to
rust-analyzer.cargo.target.
type: ['null', 'string'] Custom
cargo runner extension ID.
anyOf:
{'type': 'null'}
{'type': 'array', 'items': {'type': 'object', 'properties': {'mask': {'type': 'string', 'description': 'Runnable name mask'}, 'env': {'type': 'object', 'description': 'Variables in form of { "key": "value"}'}}}}
{'type': 'object', 'description': 'Variables in form of { "key": "value"}'}
Environment variables passed to the runnable launched using
Test or Debug lens or
rust-analyzer.run command.
type: boolean
default: True Whether to show inlay
hints
type: boolean
default: True Whether to show inlay
type hints for variables.
type: boolean
default: True Whether to show inlay
type hints for method chains.
type: boolean
default: True Whether to show
function parameter name inlay hints at the call site.
type: ['null', 'integer']
default: 20 minimum:
0 Maximum length for inlay hints
| key | value |
|---|---|
| exclusiveMinimum | True |
type: boolean
default: True Whether to add
parenthesis when completing functions
type: boolean
default: True Whether to add argument
snippets when completing functions
type: boolean
default: True Whether to show postfix
snippets like dbg, if, not,
etc.
type: boolean
default: True Show function name and
docs in parameter hints
type: string
default: stable Choose
"nightly" updates to get the latest features and bug fixes
every day. While "stable" releases occur weekly and don’t
contain cutting-edge features from VSCode proposed APIs
| value | description |
|---|---|
| stable | "stable" updates are shipped
weekly, they don’t contain cutting-edge features from VSCode proposed
APIs but have less bugs in general |
| nightly | "nightly" updates are shipped
daily (extension updates automatically by downloading artifacts directly
from GitHub), they contain cutting-edge features and latest bug fixes.
These releases help us get your feedback very quickly and speed up
rust-analyzer development drastically |
type: boolean
default: True Whether to ask for
permission before downloading any files from the Internet
type: ['null', 'string'] Path to
rust-analyzer executable (points to bundled binary by default). If this
is set, then “rust-analyzer.updates.channel” setting is not used
type: string
default: off Trace requests to the
rust-analyzer (this is usually overly verbose and not recommended for
regular users)
| value | description |
|---|---|
| off | No traces |
| messages | Error only |
| verbose | Full log |
| key | value |
|---|---|
| scope | window |
type: boolean
default: False Enable logging of VS
Code extensions itself
type: boolean
default: False Enable Proc macro
support, cargo.loadOutDirsFromCheck must be enabled.
type: string
default: auto Preferred debug
engine.
| value | description |
|---|---|
| auto | First try to use CodeLLDB, if it’s not installed try to use MS C++ tools. |
| vadimcn.vscode-lldb | Use CodeLLDB |
| ms-vscode.cpptools | Use MS C++ tools |
type: object
default:
{
"/rustc/<id>": "${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust"
}Optional source file mappings passed to the debug engine.
type: boolean
default: False Whether to open up the
Debug Pane on debugging start.
type: object
default: {} Optional settings passed
to the debug engine. Example: { “lldb”: { “terminal”:“external”} }
type: boolean
default: True Whether to show
CodeLens in Rust files.
type: boolean
default: True Whether to show
Run lens. Only applies when
#rust-analyzer.lens.enable# is set.
type: boolean
default: True Whether to show
Debug lens. Only applies when
#rust-analyzer.lens.enable# is set.
type: boolean
default: True Whether to show
Implementations lens. Only applies when
#rust-analyzer.lens.enable# is set.
type: boolean
default: False Whether to show
Method References lens. Only applies when
#rust-analyzer.lens.enable# is set.
type: boolean
default: True Whether to show
HoverActions in Rust files.
type: boolean
default: True Whether to show
Implementations action. Only applies when
#rust-analyzer.hoverActions.enable# is set.
type: boolean
default: True Whether to show
Run action. Only applies when
#rust-analyzer.hoverActions.enable# is set.
type: boolean
default: True Whether to show
Debug action. Only applies when
#rust-analyzer.hoverActions.enable# is set.
type: boolean
default: True Whether to show
Go to Type Definition action. Only applies when
#rust-analyzer.hoverActions.enable# is set.
type: array 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
| key | value |
|---|---|
| items | {‘type’: [‘string’, ‘object’]} |
type: boolean
default: True Internal config for
debugging, disables loading of sysroot crates
type: boolean
default: True Whether to show native
rust-analyzer diagnostics.
type: boolean
default: True Whether to show
experimental rust-analyzer diagnostics that might have more false
positives than usual.
type: array
default: [] List of rust-analyzer
diagnostics to disable
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
| uniqueItems | True |
type: array
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.
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
| uniqueItems | True |
type: array
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.
| key | value |
|---|---|
| items | {‘type’: ‘string’} |
| uniqueItems | True |
type: string
default: full The strategy to use
when inserting new imports or merging imports.
| value | description |
|---|---|
| none | No merging |
| full | Merge all layers of the import trees |
| last | Only merge the last layer of the import trees |
type: string
default: plain The path structure for
newly inserted paths to use.
| value | description |
|---|---|
| plain | Insert import paths relative to the
current module, using up to one super prefix if the parent
module contains the requested item. |
| by_self | Prefix all import paths with
self if they don’t begin with self,
super, crate or a crate name |
| by_crate | Force import paths to be absolute by
always starting them with crate or the crate name they
refer to. |
type: ['null', 'string'] Command
to be executed instead of ‘cargo’ for runnables.
type: array
default: [] Additional arguments to
be passed to cargo for runnables such as tests or binaries. For example,
it may be ‘–release’
| key | value |
|---|---|
| items | {‘type’: ‘string’} |