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.