Reference Documentation for Rust Analyzer Options

2020-03-23

Rust Analyzer Options

TOC

Rust Analyzer

Rust Analyzer {#configuration_Rust Analyzer}

rust-analyzer.highlighting.semanticTokens

type: boolean
default: False
Use proposed semantic tokens API for syntax highlighting

rust-analyzer.highlightingOn

type: boolean
default: False
Highlight Rust code (overrides built-in syntax highlighting)

rust-analyzer.rainbowHighlightingOn

type: boolean
default: False
When highlighting Rust code, use a unique color per identifier

rust-analyzer.featureFlags

type: object
default: {}
Fine grained feature flags to disable annoying features

key value
properties {‘lsp.diagnostics’: {‘type’: ‘boolean’, ‘markdownDescription’: ‘Whether to show diagnostics from cargo check’}, ‘completion.insertion.add-call-parenthesis’: {‘type’: ‘boolean’, ‘description’: ‘Whether to add parenthesis when completing functions’}, ‘completion.insertion.add-argument-snippets’: {‘type’: ‘boolean’, ‘description’: ‘Whether to add argument snippets when completing functions’}, ‘completion.enable-postfix’: {‘type’: ‘boolean’, ‘markdownDescription’: ‘Whether to show postfix snippets like dbg, if, not, etc.’}, ‘call-info.full’: {‘type’: ‘boolean’, ‘description’: ‘Show function name and docs in parameter hints’}, ‘notifications.workspace-loaded’: {‘type’: ‘boolean’, ‘markdownDescription’: ‘Whether to show workspace loaded message’}, ‘notifications.cargo-toml-not-found’: {‘type’: ‘boolean’, ‘markdownDescription’: “Whether to show can't find Cargo.toml error message”}}

rust-analyzer.updates.channel

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

possible values

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

rust-analyzer.updates.askBeforeDownload

type: boolean
default: True
Whether to ask for permission before downloading any files from the Internet

rust-analyzer.serverPath

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

rust-analyzer.excludeGlobs

type: array
default: []
Paths to exclude from analysis

key value
items {‘type’: ‘string’}

rust-analyzer.rustfmtArgs

type: array
default: []
Additional arguments to rustfmt

key value
items {‘type’: ‘string’}

rust-analyzer.useClientWatching

type: boolean
default: True
client provided file watching instead of notify watching.

rust-analyzer.cargo-watch.enable

type: boolean
default: True
Run specified cargo-watch command for diagnostics on save

rust-analyzer.cargo-watch.arguments

type: array
default: []
cargo-watch arguments. (e.g: --features="shumway,pdf" will run as cargo watch -x "check --features="shumway,pdf"" )

key value
items {‘type’: ‘string’}

rust-analyzer.cargo-watch.command

type: string
default: check
cargo-watch command. (e.g: clippy will run as cargo watch -x clippy )

rust-analyzer.cargo-watch.allTargets

type: boolean
default: True
Check all targets and tests (will be passed as --all-targets)

rust-analyzer.trace.server

type: string
default: off
Trace requests to the rust-analyzer

possible values

value description
off No traces
messages Error only
verbose Full log
key value
scope window

rust-analyzer.trace.extension

type: boolean
default: False
Enable logging of VS Code extensions itself

rust-analyzer.lruCapacity

type: ['null', 'integer']
minimum: 0
Number of syntax trees rust-analyzer keeps in memory

key value
exclusiveMinimum True

rust-analyzer.inlayHints.typeHints

type: boolean
default: True
Whether to show inlay type hints

rust-analyzer.inlayHints.parameterHints

type: boolean
default: True
Whether to show function parameter name inlay hints at the call site

rust-analyzer.inlayHints.maxLength

type: ['null', 'integer']
default: 20
minimum: 0
Maximum length for inlay hints

key value
exclusiveMinimum True

rust-analyzer.cargoFeatures.noDefaultFeatures

type: boolean
default: False
Do not activate the default feature

rust-analyzer.cargoFeatures.allFeatures

type: boolean
default: True
Activate all available features

rust-analyzer.cargoFeatures.features

type: array
default: []
List of features to activate

key value
items {‘type’: ‘string’}

rust-analyzer.cargoFeatures.loadOutDirsFromCheck

type: boolean
default: False
Run cargo check on startup to get the correct value for package OUT_DIRs