Yesterday
IntellIJ IDEA 2016.3 EAP became available - the program of βearlyβ access to the update scheduled for this autumn.
For reference. Officially, the program is called the Early Access Program. In practice, this is an analogue of the alpha version. Updates appear on average at weekly intervals. Everyone can install the distribution, try new features and share their opinions and ideas in the tracker .In this post I will talk about the main innovations that are already available in the EAP build.
')
Debugger
Class-level watchesTracking expression values ββhas become more convenient. Now expressions can be declared not only globally, but also at the level of specific classes. These expressions will be displayed in the same way as class fields.

Expressions are specified in the context of an instance of a class.
Primitive type mappingNow
Java Type Renderers can be declared for primitive types, including arrays.
Memory analysisWith the new
JVM Debugger Memory View plugin, you can explore the contents of the memory while debugging.
The
Memory View toolbox displays the number of instances of each class. To open the tool window, use the main menu:
View β
Tool Windows β
Memory View .
The
Diff column displays how the number of instances has changed since the last stop. This way you can follow the creation of new instances.

Double click on the line of the class will open a list of instances of this class.
Mark Object ,
Evaluate Expression ,
Add to Watches, and other debugging operations are available to apply to any instance in this list.
Catch class filterThe following improvement concerns debugging exceptions. Now you can set
Exception Breakpoint bounds by specifying the packages in which this exception is caught, in other words, in which the
try-catch expression is set.

Version control
Cancel commitYou can now roll back the last unpublished commit with one click: select it in the
Log tab and call
Undo Commit from the context menu. The action is equivalent to the β
git reset --soft HEAD ^ β
command . This means that the changes will not be lost, but will be transferred to
Local Changes .
Deleting branchesNow if you delete the local branch, the IDE will also offer to delete the branch to which it refers, or to roll back the deletion.
Sign-off commitThe
Commit Changes dialog now provides the
Sign-off commit option.
File colorsNow in the dialogs and windows versioning tools, each file is highlighted in accordance with the settings
File Colors .

Interface
Recent testsNow you can press
Ctrl +
Shift +
; (
Cmd +
Shift +
; for OS X) and see a list of recent tests. The list contains both the latest successful test configurations and unsuccessful individual tests.
Enter - run the test;
F4 - transition to the code.
Text searchNow, if you call
Find in Path from the editor, the settings retain the previously specified values, rather than being reset as before.
Java
Lambda expressions in File StructurePopup and
Structure tool window can now show lambda expressions, if the corresponding setting is enabled. Enable it by pressing
Ctrl +
L (
Cmd +
L for OS X).
Some intents have become inspections.The main difference between inspections from intensities is that inspections can be applied on many files at once. We chose a number of intensions for which this makes sense, and inspections from them: in particular, we made the exact form.
Unused declaration inspection settingsIn the inspection of the
Unused declaration added to the
Members to report . Now you can choose which class members and modifiers will be distributed to.
Meta annotation hierarchyThe
Type Hierarchy toolbar now works for meta-annotations and allows you to see their hierarchy. This can be especially useful for Spring or, for example, JUnit 5.
JavaScript and CSS
FlowNow, if you specified
Flow as the JavaScript version, you will start receiving messages about problems in the code directly in the editor for those files that are annotated with "
// flow ".

For this to work, do not forget to specify the path to the locally installed Flow in
Settings β
Languages ββ& Frameworks β
JavaScript β
Flow .
Renaming methods to TypeScriptRenaming methods to TypeScript is now safe:
- If a method inherits or overrides a method from other classes / interfaces, the IDE will offer to rename the base methods;
- If there are other methods that override or inherit the renamed method, the IDE will also rename them.
Angular 2 code generationThe Angular CLI tool is now integrated into the
Generate New popup, available from
Alt +
Ins (
Cmd +
N for OS X).
PostcssPostCSS now has a plugin. By installing the plugin, you will get hints, formatting, navigation, inspections, renaming, and other features offered for regular CSS.
Group generated filesIn the
Project toolbox
, generated files are now grouped together with source files (if they are in the same directory): for example, "
.css ", "
.css.map " and "
.sass "; "
.js ", "
.js.map " and "
.ts "; etc.
In addition to innovations update of course also contains a lot of bug fixes. That's all for now. Fresh EAP builds will appear every week.
If you find bugs, please report them to our
tracker .
Link to the EAP build download:
https://confluence.jetbrains.com/display/IDEADEV/IDEA+2016.3+EAP .
I will be glad to answer questions.
Program with pleasure!