Holidays and weekends are over, but there is no reason to rejoice. What could be nicer than learning about the long-awaited update of your favorite Java IDE? We waited impatiently for four long days to surprise you with this pleasant surprise. Meet
IntelliJ IDEA 14 !

Talking about what we have been doing for most of the year, every time we experience and worry. Each new version of IntelliJ IDEA raises the bar for general expectations. Still, every update is another chance for us to prove that there is no limit to perfection. Did you succeed this time?
')
DecompilerTo save users from having to install additional plugins, a decompiler for Java classes was added to the IDE toolkit. Now you can see the library code, even if you do not have the source code.
DebuggerThe new version significantly improved Java debugger. One of the main innovations is the option “Show values ​​in Editor”, which allows you to see the values ​​of variables during debugging directly in the editor, in the context of their use.

In addition, now for each instance you can view the list of all objects referring to it: with the help of the new command “Show referring objects”.

Another improvement is the evaluation of expressions containing lambdas and anonymous classes. This is especially useful for those who have already switched (or are planning to switch) to Java 8.

It is worth noting that this works for both Java and Scala.
Code editorAlso, a number of improvements touched the code editor, where the developer spends (or, at least, should spend) most of his time. Now, when you press the Backspace key, IDE will automatically remove the padding according to the formatting settings and move the cursor to the right place, taking on another minor duty and freeing you from it.

Another improvement to the editor is the automatic detection of formatting settings in an editable file on the fly. That is, if the formatting settings in the file differ from those selected in the IDE, the original formatting of the file will be preserved even when edited.

Also in the editor, a new feature "Scratch files". This function opens a new tab that is not associated with any file in the project. When editing the contents of the tab, the IDE will offer coding assistance according to the type of file (selected when opening the tab). At the same time, you can open any number of such tabs and switch between them with the "Recent files" command.
Multiple selectionThe function “multiple selection” (multiple selections), which appeared not so long ago, was also reworked. Code addition now includes options with all the cursor positions; the function also works for built-in languages ​​(injected languages); it ensures the correct behavior of the function when copying, pasting, deleting lines, commenting, etc.
In addition, new shortcut keys were added, which greatly simplified working with this feature:
- Clone caret: double-click ctrl and then hold ctrl up or down (Cmd for OS X);
- Next match (Add Selection to Next Occurrence): Alt + G (Ctrl-G for OS X)
- Unselect Occurrence: Shift + Alt + G (Shift-Cmd-G for OS X)
- Select All Occurrence: Ctrl + Alt + Shift + J (Ctrl-Shift-G for OS X)
- Skip a match (Next Occurrence): Alt + G (Cmd-G for OS X)
Copy code to HTML / RTFNow, when copying code into any HTML / RTF editor, the appearance and formatting of the code is preserved, and, most importantly, no additional plug-ins are required for this.

Search in project files (Find in path) has become faster due to the added optimizations. It is also possible to skip matches in comments and text expressions.
Code analysisStatic code analysis presented in IntelliJ IDEA inspections was supplemented with a new very powerful function, namely, the output of the NotNull, Nullable and Contract annotations from the bytecode of the connected libraries. This means that now you do not need to register the annotations NotNull, Nullable and Contract yourself - the IDE will do this automatically when you connect the library!
Assembly systemsIntegration with build systems, such as Maven and Gradle, has also undergone a number of positive changes: when you run test tasks, the Gradle IDE now displays a standard test execution window, which allows you to see the results in a convenient way, as well as restart or debug tests of your choice.

In addition, you can now specify the Gradle task in the “Before the launch” field in run configurations.
Integration with Maven has received improved support for profiles and automatic generation of the MANIFEST.MF file.
Version Control SystemsIntegration with version control systems continues to evolve, mainly for Git and Mercurial. The change log (the Log tab in the Changes window) has become even faster, graphs have been displayed even when using a filter, and a new command, “Git reset from the log”, has appeared in the log.

Also for Git and Mercurial, the Push-dialog has been redesigned: it now contains additional information about outgoing changes, grouped by repositories, with a choice of changes that you want to send. The “Force push” option is available from the Push button dropdown menu.

Separately for Mercurial, it is worth noting the added support for Subrepositories, as well as synchronous branch management, previously available only for Git.
JavafxDesktop developers will be happy to know that the JavaFX Scene Builder is now available directly from the IDE. Now, to edit the form in the visual editor, it is not necessary to switch from the IDE to the Scene Builder - just go to another tab in the file being edited.
FrameworksSupport for frameworks and application servers updated to the latest versions. In particular, support for Super Dev Mode for GWT has been added, along with improved integration with Source Maps and a new configuration option that automatically starts a JavaScript debugging session.

Also, the rows of supported frameworks have been replenished with Thymeleaf. Code addition, navigation (declaration to declaration), renaming (Rename refactoring), Find Usages, code analysis, etc. work. Support extends not only to template files, but also to controllers.
ScalaScala developers will also not be disappointed, they are waiting for a lot of pleasant changes. First, we finally abandoned Scala Facet to configure the Scala project, replacing it with the advanced settings of the Scala library: (which now, in addition to the library paths, also contain the path and version of the compiler):

Support for the Play 2.x framework has become part of the main Scala plugin (and is still only available in IntelliJ IDEA Ultimate).
Now it is possible to change the method signature using the “Change signature” refactoring:

Continuing the theme of integration with build systems, it is worth noting the improved support for SBT:
- Addition (code completion) for SBT keys and dependencies
- Quick documentation for SBT keys
- Template (live template) “dep” for declaring dependencies
- Checking the correctness of the specified dependencies (taking into account the specified repositories)
- Support android-sbt-plugin plugin
- Inspection offering to replace Project () with project.in (), where possible
- Navigating to subprojects (subprojects) using Ctrl + click (Cmd + click for OS X)
In addition, new inspections were added and, of course, performance was improved.
AndroidIf you're developing for Android, you'll be glad to know that all the latest features added by the Google team in Android Studio (still in Beta stage) are already available in IntelliJ IDEA. This includes support for Android Wear and TV. Learn more about the innovations can be found on the
official page of Android Studio .
Web developmentAll innovations for web development, presented not so long ago in WebStorm 9, now also exist in IntelliJ IDEA 14:
- Postfix JavaScript Supplement
- Integration with Gulp: viewing, running and debugging tasks
- Improved spy-js support for tracing and profiling Node.js applications
- Downloading changes (live edit) for a running Node.js application
- Plug-ins for the full development of Meteor and PhoneGap / Cordova / Ionic applications
Work with databasesAnd, finally, the tools for working with databases and SQL have been updated, or rather inherited an update from 0xDBE, our new IDE, which is still in development. Updates include:
- Improved editor of tables and query results: image detection in BLOB fields
- The Quick Value and Quick Documentation commands are now combined together and show the approximate number of records in the table.
- Details of the error in the request in the Event Log window
- Custom Auto-Commit field
- Run large SQL files
- Auto Increment option in the column and table creation dialog
- Navigate to Table / Procedure command
- Integrated Windows Authentication Support for SQL Server
You can get more detailed information about IntelliJ IDEA 14, as well as download the IDE on the
official release page .
Program with pleasure!