New Features

  • Implement wasm-pack run configuration. So now you can run any wasm-pack command just from the IDE
  • Support the Complete Current Statement (Ctrl+Shift+Enter) action for function and structs (by @Stzx)

  • Project creation improvements:

    • Provide support for custom project templates in the New Project dialog

      custom user template screenshot

    • Create default run configuration for a new project

    • Improve package name validation during the new project creation
  • Lints & inspections improvements:

    • Move all rustc-related lints to the newly created separate Lints group. You can find the corresponding inspection settings in Preferences | Editor | Inspections | Rust panel.

    • Support the nonstandard_style attribute for naming inspections

    • Now the While true loop inspection takes into account the while_true lint level and has the suppression quick fix to add #[allow(while_true)] attribute

    • Check if the derive attribute is placed on a supported item (by @Stzx)
  • Suggest the run configuration name from its command
  • Allow folding of consecutive impl Iterator<Item=X>s in a method chain hints (by @Kobzol)
  • Code coverage integration improvements:
    • Allow using any nightly toolchain to run code with coverage
    • Show the error message if a user tries to launch code with coverage without nightly toolchain
  • Update Cargo-related icons

Performance Improvements

  • Slightly optimize name resolution in some cases

Fixes

  • Don’t insert double parentheses for functions and methods after completion
  • Don’t provide the Change return type quick fix in a lambda with an implicit return type (by @Kobzol)
  • Now the Attach file to a module quick fix takes into account existing mod items, comments and attributes when inserting the new mod item (by @Kobzol)
  • Improve autocompletion of the cargo command in the Run Anything popup
  • Don’t annotate user-defined attribute macros that override built-in ones (by @Stzx)

Internal Improvements

  • Initial regression testing. It should help to catch false-positive errors in new changes automatically
  • Create a release branch on a schedule from CI

Full set of changes can be found here