Meet IntelliJ IDEA 14 is here

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

    image

    Talking about what we did most of the year, we always worry and worry. Each new version of IntelliJ IDEA raises the bar for everyone's expectations. Nevertheless, each update is another chance for us to prove that there is no limit to perfection. Did you manage to judge this time?

    Decompiler
    To eliminate the need for users to install additional plugins, a decompiler for Java classes has been added to the IDE toolkit. Now you can see the library code, even if you do not have the source.

    Debugger
    The new version has 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.

    image

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

    image

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

    image

    It is worth noting that this works for both Java and Scala.

    Code editor
    Also, a number of improvements were made to the code editor, where the developer spends (or, at least, should spend) most of his time. Now, when you press the Backspace key, the IDE independently removes the indentation in accordance with the formatting settings and moves the cursor to the right place, taking on another small responsibility and freeing you from it.

    image

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

    image

    Also in the editor there is a new function “Scratch files”. This function opens a new tab that is not associated with any file in the project. When editing the contents of a tab, the IDE will offer coding assistance according to the type of file (selected when the tab is opened). At the same time, you can open any number of such tabs and switch between them with the “Recent files” command.

    image

    Multiple selection
    The “multiple selections” function, which appeared not so long ago, has also been redesigned. Code completion now includes options for all cursor positions; the function also works for embedded languages; Correctly ensures the behavior of the function when copying, pasting, deleting lines, commenting, etc.

    In addition, new keyboard shortcuts were added, which greatly simplified the work with this function:

    • Clone caret: double-click Ctrl and then, holding Ctrl, up or down arrows (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 Match (Next Occurrence): Alt + G (Cmd-G for OS X)


    Copying code into HTML / RTF
    Now, when copying code to any HTML / RTF editor, the appearance and formatting of the code is preserved, and, most importantly, this does not require any additional plug-ins.

    image

    Search in project files (Find in path) has become faster due to added optimizations. You can also skip matches in comments and text expressions.

    image

    Code
    analysis Static code analysis, introduced in IntelliJ IDEA inspections, was replenished with a very powerful new function, namely the output of NotNull, Nullable and Contract annotations from the bytecode of the connected libraries. This means that now you do not have to register the NotNull, Nullable and Contract annotations yourself - the IDE will do this automatically when the library is connected!

    image

    Build systems
    Integration with build systems such as Maven and Gradle has also undergone a number of positive changes: when starting test tasks, the Gradle IDE now displays a standard test execution window, allowing you to see the results in a convenient way, as well as restart or debug your choice tests.

    image

    In addition, you can now specify the Gradle task in the "Before the launch" field in the run configurations.

    Integration with Maven received improved profile support and automatic generation of the MANIFEST.MF file.

    Version Control Systems
    Integration with version control systems continues to evolve, mainly for Git and Mercurial. The change log (Log tab in the Changes window) has become even faster, graphs are displayed even when using the filter, and a new command “Git reset from the log” appeared in the log.

    image

    The Push dialog has also been redone for Git and Mercurial: now it contains additional information about outgoing changes, grouped by repository, with the ability to select the changes you want to send. The “Force push” option is available from the pull-down menu of the Push button.

    image

    Separately for Mercurial, it is worth noting the added support for Subrepositories, as well as synchronous branch management, previously available only for Git.

    image

    Javafx
    Desktop application developers will be happy to know that JavaFX Scene Builder is now available directly from the IDE. Now for editing the form in the visual editor, it is not necessary to switch from the IDE to Scene Builder - just go to another tab in the edited file.

    image

    Frameworks
    Support for frameworks and application servers has been updated in accordance with 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.

    image

    Also, the ranks of supported frameworks have replenished with Thymeleaf. Code addition works, navigation (declaration to navigation), rename (Rename refactoring), search for entries (Find Usages), code analysis, etc. Support extends not only to template files, but also to controllers.

    image

    Scala
    Scala developers will also not be disappointed, they will find many pleasant changes. First, we finally abandoned Scala Facet to configure the Scala project, replacing it with advanced Scala library settings: (which now, in addition to library paths, also contain the path and version of the compiler):

    image

    Support for the Play 2.x framework has become a part main Scala plugin (and still only available in IntelliJ IDEA Ultimate).

    Now you can change the method signature using the built-in “Change signature” refactoring:

    image

    Continuing the topic of integration with build systems, it is worth noting the improved SBT support:

    • Code completion for SBT keys and dependencies
    • Quick documentation for SBT keys
    • “Dep” live template for declaring dependencies
    • Validation of dependencies (taking into account the specified repositories)
    • Support android-sbt-plugin plugin
    • Inspection suggesting replacing Project () with project.in () where possible
    • Navigating into subprojects using Ctrl + click (Cmd + click for OS X)


    In addition, new inspections were added and, of course, improved performance.

    Android
    If you are developing for Android, you will be glad to know that all the latest features added by the Google team to Android Studio (still in Beta stage) are already available in IntelliJ IDEA. This includes support for Android Wear and TV. You can learn more about the innovations on the official Android Studio page .

    image

    Web Development
    All the innovations for web development introduced not so long ago in WebStorm 9 are now also in IntelliJ IDEA 14:

    • Postfix Add-on for JavaScript
    • Gulp Integration: View, Run, and Debug Tasks
    • Improved spy-js support for tracing and profiling Node.js applications
    • Download changes (live edit) for an application running Node.js
    • Plugins for the full development of Meteor and PhoneGap / Cordova / Ionic applications


    Working with Databases
    And, 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 under development. Updates include:

    • Improved editor of tables and query results: detecting images in BLOB fields
    • Quick Value and Quick Documentation commands are now combined together and show the approximate number of records in the table
    • Detailed error information in the request in the Event Log window
    • Custom Auto-Commit field
    • Executing large SQL files
    • Auto Increment option in the column and table creation dialog
    • Command Navigate to Table / Procedure
    • Integrated Windows Authentication Support for SQL Server


    You can get even more detailed information about IntelliJ IDEA 14, as well as download the IDE on the official release page .

    Program with pleasure!

    Also popular now: