Changelog #16

Commit: ebab250
Release: 2020-03-16

Note that the minimal required version of VS Code is 1.43.0 now. In general, we only support the latest release of VS Code.

New Features

  • #3534 Implement nightly channel for VS Code. You can enabled nightly channel by setting

    1
    
    "rust-analyzer.updates.channel": "nightly"
    

    option.

  • #3561 add Debug code lens. It requires vscode-lldb extension to work.

    76760335 bf8d9c80 678d 11ea 80c3 8e8b12a36690
  • #3506 Trigger associated item completion when typing a name of the item.

    76758522 1ee9ad80 678a 11ea 84cd 111739ecd379
  • #3549 initial support for the env! macro. This unlocks preliminary support for include!(concat!(env!("OUT_DIR"), "/foo.rs")) pattern. At the moment, value for OUT_DIR should be specified in the settings, using rust-analyzer.additionalOutDirs key.

  • #3543 separate options for controlling type and parameter inlay hints: rust-analyzer.inlayHints.typeHints and rust-analyzer.inlayHints.parameterHints.

  • #3591 initial support for local macro_rules.

  • #3587 replace "workspace loaded" notification with a progress bar.

Fixes

  • #3552 fix completion for partially unknown types.

  • #3542 rename works correctly for field init shortcut.

    76759028 28bfe080 678b 11ea 9fb5 5ab6e6476814
  • #3557 on kbd:[Enter], continue multiline non-doc comments.

  • #3558 fix parsing of binary expressions where rhs is a block.

  • #3564 correctly handle multi-spand diagnostics/fixits from rustc/clippy.

  • #3553 show completion for all namespaces.

  • #3574 fix completion for HashMap::new.

  • #3576 correctly parse variadic extern "C" functions.

  • #3595 fix completion of trait items.

  • #3573 by default, run cargo check for all crates in workspace.

Internal Improvements

  • #3551 slightly refactor feature flags.

  • #3562 implement fmt::Display for all AST nodes.

  • #3577 protect against diverging macro expansion.

  • #3540 split Structural Search Replace into query validation and execution.