New Features

  • REPL integration improvements:
    • #4998 Add variables view. Now you can see all your local declarations including variables, functions, and structs in a special view on the right of the REPL window. The view can be hidden by the special button on the left panel.

    • #5168 Show icon in REPL console

  • #5204 Highlight exit points inside tail loop expressions. Previously, the whole loop was highlighted (by @rrevenantt)

  • #5131 Add Toml plugin icons


  • Completion improvements:
    • #5156 Prefer Display over Debug in .println postfix template. Now 42.println<Enter> creates println!("{}", 42) instead of println!("{:?}", 42) (by @Kobzol)

    • #5149 Fix .println postfix template for string variables and byte strings. Now it inserts a proper {} or {:?} marker into println! call (by @Kobzol)

    • #5139 Provide completion for union keyword

  • #5143 Insert trailing comma into match arms by Complete current statement action (by @Stzx)

  • #5229 Fix file type mapping for Rust file in IDEA 2020.1. This should fix cases when all Rust files are not highlighted

  • #4972 Do not generate useless match arm for irrefutable patterns by Convert if let statement to match intention (by @Kobzol)

  • #5199 Recognize irrefutable constant patterns. Now Convert if let statement to match intention does not add useless _ arm when matching a struct or single-element enum (by @Kobzol)

  • #5144 Do not import inner types of type aliases by Implement members intention (by @Kobzol)

  • #5187 Fix editor notifications blinking during project opening

  • #5179 Fix local history broken due to our macro expansion

  • #5174 Fix NPE on Rust code with unclosed paren like let a = (

  • #5135 Do not add a directory as as source/excluded entries if it does not exist

  • #5076 Set TERM variable and terminal’s width if terminal emulation is enabled

Internal Improvements

  • #5137 Make 2020.1 main platform for development

Full set of changes can be found here