IntelliJ IDEA 2016.1 released

Released: Mar 18, 2016

Updates in this release

Updates in 2016.1

Debugger

  • Groovy Expressions - Now when debugging a Java application, you can use Groovy expressions with Evaluate Expression and Watches.
  • Threads - Until now, stepping over one thread meant IntelliJ IDEA would also resume all the other threads. Now you can change this behavior by enabling the “Resume Only Current Thread” option.
  • Source Mismatch Detection - The IDE now immediately warns you once it finds a mismatch.
  • Debugging Without Debug Info - When you debug code compiled without debug info, you are provided with better name matching, and are allowed to set and evaluate values for slot variables.

Version control

  • Git
    • Two new actions are available via the Branches popup: Checkout with Rebase and Rename.
    • The Checkout Tag or Revision action is now applied to all repositories configured for the project.
    • If you do an Interactive Rebase, IntelliJ IDEA now automatically stashes and unstashes local changes and assists with resolving conflicts.
    • Git 2.5 introduced worktrees to simplify working with clones of a single repository: instead of making a repository clone you can create a lightweight worktree. Now IntelliJ IDEA lets you work with those worktrees just like you do with regular repositories.
  • By-word Changes Highlighting - Easily merge and compare revisions with Git and other VCS. You can also disable inspections in the Diff Viewer to minimize distraction.
  • Compare Revisions Between Branches - For Mercurial it’s now possible to compare revisions of a file between branches

Editor

  • Move Elements Right or Left - Added two new actions: Alt + Ctrl + Shift + Left and Alt + Ctrl + Right.
  • Importing Static Members - Add static imports the same way as regular ones.
  • Right-to-left Languages - New support for right-to-left languages (Arabic, Hebrew).
  • Prepend Comments with a Space - The code styles now provide an option to always prepend automatically added comments with a space.

Inspections

  • Method References and Lambda Expressions - The Inline and Change signature refactorings have been updated to correctly process method references.
  • Misuse of java.util.Optional - The IDE will help you avoid writing unsafe code when using java.util.Optional.
  • Migrating Guava Code to Java 8 - Replace FluentIterable, Function, Optional, and Predicate with Java 8 analogues.
  • Concurrency Annotations - The built-in inspections that detect issues with use of concurrency annotations now support javax.annotation.concurrent.
  • Declaration Access can be Weaker - The new inspection called “Declaration access can be weaker” prevents making fields, methods and classes public unnecessarily.
  • Ignoring Duplicates in Generated Code - The inspection that finds duplicated code now provides an option to ignore the sources marked as generated.

Speed Search

  • Show Usages - Improved the speed-search in the Show usages popup. Now, when you use it, the matches are highlighted for easier navigation.
  • Terminal - Now you can enjoy the speed search even in the Terminal tool window.

Gradle

  • Custom Source Sets - The IntelliJ IDEA project model is finally aligned with Gradle and includes support for custom source sets.
  • Importing EAR Artifacts - Resolve EAR artifacts defined in your build scripts and configure them automatically in the Project Structure.

Spring Frameworks

  • Spring Boot
    • The IDE now helps you find custom configuration properties in your application configuration files and additional metadata files.
    • Enjoy coding assistance in YAML configuration and banner.txt files.
    • @SpringApplicationConfiguration is respected in test context setups.
  • Spring MVC - Added support for “@EnableWebMvc-based as” and improved working with Java-config only setups.
  • Spring Core
    • The aliases defined with @AliasFor for @Bean, @Import and @ContextConfiguration are now fully supported.
    • Added support for @EnableBatchProcessing, @EnableLoadTimeWeaving and @EnableSpringDataWebSupport annotation.
    • Non-annotated beans that extend CrudRepository are now resolved correctly.
    • Support for Spring 4.3: @Autowired is not required if the bean only defines one constructor.
    • The facet configuration now processes dependencies recursively.

Thymeleaf

  • Built-in coding assistance has been updated to support Thymeleaf 3, the new version of the popular template engine.
  • Users may create their own dialects or extend the standard one. IntelliJ IDEA now understands user-defined dialects and offers coding assistance for them.

Android

  • IntelliJ IDEA ships with new features added in Android Studio 1.5.
  • The memory profiler can now assist you in detecting the causes of leaked activities.

Kotlin

  • First-class programming language for JVM and Android in IntelliJ IDEA.

Scala

  • Code completion for Scala has been significantly improved. For case classes in pattern matching the IDE now suggests parameter names based on the corresponding field names and their types.
  • The order of suggestions now depends on the type of symbol and its usage history.

JavaScript

  • ECMAScript 6 and TypeScript
    • The new refactorings include Create method, Extract method, Inline method and Introduce field.
    • The new intentions include Make class abstract, Make public/private and Remove modifier.
    • Any unused import statement is now highlighted. To remove all unused statements, call Optimize imports. Required import statements are added as you type.
    • Support for TypeScript has been updated to v1.8.
  • AngularJS 2
    • Code insight and navigation are available for directives, variables defined in templates, custom event handlers, paths in templateUrl and styleUrls fields, and many other situations.
    • Enjoy coding assistance for event and property bindings, which also works inside any data binding.
    • The IDE now understands components defined using the new AngularJS 1.5 module.component() helper method.
  • Debugger
    • Debug asynchronous client-side code and arrow functions in ECMAScript 6, and stop on the breakpoints set in Web workers.
    • The IDE now allows you to debug an app’s main process in a built or packaged Electron application, by using Node.js run/debug configuration.

JSON Schema

  • Thanks to support for JSON Schema, a format for describing JSON files, IntelliJ IDEA can now provide coding assistance for certain types of JSON files.

Database Tools

  • PostgreSQL
    • IntelliJ IDEA provides coding assistance the features added in PostgreSQL 9.5.
    • Added support for the PostgreSQL hstore ‘?’ operator.
  • Table and Column Comments - Table and column comments now can be added and modified from the Create/Modify Table dialog (if the database supports that).
  • SQL Server - Custom types in SQL Server (alias types and table types) are now introspected and available for completion.
  • Table Truncation - Remove all rows from a selected table.

Docker

  • Added support for Docker Machines.
  • The IDE now offers a separate tool window for Docker.
  • The right-side panel now allows you to see logs and manage environment variables and port bindings.
  • The lists of containers and images are now separate and more readable.