Last week, JetBrains announced the release of IntelliJ IDEA 15. As always, IDE is available in two editions: Commercial Ultimate and Free Community Edition. Download the new version on the official website of JetBrains. This post is brief about what is new and interesting in it.
Kotlin The main news is that, along with the release of IntelliJ IDEA 15, Kotlin Beta was also released - a practically ready-to-release JVM programming language developed in the depths of JetBrains. Kotlin support is available out of the box in IntelliJ IDEA 15. ')
Debugger The popularity of Java 8 continues to gain momentum, and JetBrains continues to make the debugger more convenient to work with lambda expressions. When adding a breakpoint, the IDE now allows you to select a specific expression. Go to a specific lambda expression is now possible with the help of Step Into and Run to Cursor .
The Force Return tool has also been added to the debugger. It allows you to interrupt the execution of the current method and return the selected value. This can be useful if you want to change the logic of program execution without changing the code and without restarting.
Detect duplicates in code An early duplicate search in IntelliJ IDEA was carried out through the Analyze ⟶ Locate Duplicates tool. The results of this operation could be expected a few minutes. The changes made to the indexing algorithm in IntelliJ IDEA 15 made it possible to search for duplicates instantly: with the help of the Duplicated Code inspection. Inspection can be configured or disabled in Settings ⟶ Inspections .
Text search Text search is a relatively simple operation, however IntelliJ IDEA continues to improve it with each version (the ability to select the search context was added: comments, string literals, etc.). In IntelliJ IDEA 15, a panel with instant results has been added to the search dialog.
Running Applications and Tests Now next to the main methods, as well as next to each test on the left side of the editor, an icon is displayed, by clicking on which you can quickly launch the corresponding method or test. For each test, the icon displays the result of the last run.
In addition, the launch configurations received status indicators: now it is easy to distinguish the running configuration from the stopped one, and the Run button on the toolbar looks like Restart for a running configuration like Single instance only .
Also, the test run interface has been completely redesigned. Now it looks the same for all languages, shows the time it takes to run tests, and offers operations to view, import, and export the results of previous tests.
Version Control Systems Integration with Git, Mercurial, Perforce and other version control systems has undergone a number of improvements. Rebase has become a full-fledged operation in the Branch operations menu on par with Merge . The Branch operations menu itself has become available in Log .
Clicking on the marker in the left part of the editor for the modified lines now shows the immediate parts that have changed (previously the entire line was shown completely). In addition, if the changes affect only the formatting, the color of the marker will be yellow instead of blue.
When reformatting only modified strings, the IDE now understands the need for reformatting and context-sensitive strings, such as indents in the declaration of methods. In the Merge window, the Undo operation has become available.
Mercurial now has the ability to manage MQ patches. For Perforce, the Shelve in Perforce feature has been added . For TFS, there is an opportunity to work with treelike Work items , as well as with Saved queries .
Server frameworks Support for frameworks has also been updated in accordance with their latest versions. New features added in Spring 4.2 are supported: Bean annotation on default methods, autocompletion and navigation for code using EventListener annotations; as well as abstract @ AliasFor .
In addition, the long-awaited support for Grails 3 appeared in IntelliJ IDEA 15.
Experimental support for Arquillian has been added: containers can be configured at the IDE level and can be specified when running tests.
Scala The plugin for Scala has also been updated due to support for SAM (Single Abstract Method), hints that allow you to deploy macros, postfix auto-completion, Inline refactoring for Type aliases and some other improvements.
Frontend development Web developers will be pleased to learn about TypeScript 1.6 support, integration with TSLint and significantly improved support for the React framework (including the JSX and TSX markup):
IntelliJ IDEA 15 features added in Android Studio 1.3: Android Memory (HPROF) Viewer and Allocation Tracker . Later changes to Android Studio will also soon appear in minor IntelliJ IDEA 15 updates.
Databases and SQL Tools for working with databases and SQL have been significantly updated: now you can quickly get accurate information about database objects for Oracle, PostgreSQL, MySQL and SQL Server, generate code for CREATE TABLE and INSERT constructions; visually edit existing tables; build a query execution plan; compare the results of several queries and more.
Pricing and licensing IntelliJ IDEA 15 is part of the JetBrains Toolbox and is now available by subscription. In addition to new pricing and licensing terms , this also means that if you used to use several JetBrains products at the same time, you can now buy them at a better price.
If you have not tried IntelliJ IDEA 15 yourself, we invite you to do it right now.