Changelog #19
Commit: ec3fb1c
Release: 2020-04-06
New Features
-
BREAKING
#3824changed the name of many options. The current set is specified here. If you are using a non-VS Code client, note that rust-analyzer now asks forrust-analyzersection of configuration, and expects this config to be present ininitializationOptions. -
#3804,#3825it is now possible to use arbitrary command for on the fly error checking:1 2 3 4 5
{ "rust-analyzer.checkOnSave.overrideCommand": [ "./x.py", "check", "--json-output" ] }
-
#3807,#3825similarly, it is now possible to completely overriderustfmtcommand. -
#3820remove support for old syntax highlighting. To use the new semantic tokens highlighting:-
install the recent vscode insiders build
-
add
1 2 3 4
{ "rust-analyzer.highlighting.semanticTokens": true, "editor.semanticHighlighting.enabled": false, }
to config
-
run vscode as
code-insiders --enabled-proposed-api matklad.rust-analyzer -
make sure to use a color theme with support for syntax highlighitng.
-
Rust specific tokens and modifiers are listed here. For example, to underline all
mutand&mutvariables, add this tosettings.json:1 2 3 4 5
"editor.tokenColorCustomizationsExperimental": { "*.mutable": { "fontStyle": "underline" } }
-
-
#3814add Implement From for enum variant assist
-
#3746add Create function assist.
-
#3840automatically add call parenthesis for tuple-like enum variants
-
#3666handle some configuration changes without server restart. -
#3777populate default task list in VS Code with cargo commands. -
#3765SSR no longer takes field order into account. -
#3829SSR treats method call and UFCS equivalently. -
#3779code completion for record literals now suggest only fields which are not already present.
Fixes
-
#3785attach doc comments to declaration even if there’s a blank line after comment. -
#3781,#3819make Run action correctly handle the case with several major versions of the package in the crate graph. -
#3786Fill Match Arms assist does not leave the floating comma behind. -
#3797don’t show chaining hints for record literals and unit structs. -
#3844make sure that default configuration values are honored. -
#3857fix inference of function pointer return types. -
#3858don’t show return type for()-returning function.
Internal Improvements
-
#3817,#3815,#3816Show Syntax Tree internal command now has syntax highlighting and auto scroll from source. -
#3790use uniiform naming (config) for all configuration-related functionality. -
#3792,#3802inspired by Emacs, rename "cargo watch" functionality to flycheck. -
#3793add integrated test for code-generating build.rs. -
#3795decouple flycheck and project model. -
#3809reduce the number of structs holding configuration from three to one. -
#3836wrap macros in pattern position intoast::MacroPatnode to not confuse them with expressions. -
#3744upgrade chalk.