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.