IntelliJ IDEA 2016.3 Public Preview

There is an old saying, “time flies when you’re having fun.” By that measure, the past three months have been a lot of fun! But today it’s time to give you a glimpse of what has kept us having fun (and busy): IntelliJ IDEA 2016.3, the next update planned for this Fall, is available as a public preview. Everyone is very welcome to download and try its new features, and of course we’re eager to hear your feedback on it.

Here’s a list of the most notable changes in the update:

Java

  • Refactoring to Java 8. Since Java 8 was released, IntelliJ IDEA has been providing inspections that help write correct and idiomatic Java 8. With this update, we’ve gone further and extended our existing inspections to support non-trivial cases. Now, if you click Alt+Enter inside a non-trivial for-loop, the IDE will prompt you to replace it with an chain of the stream API calls. The quick-fix will leverage count, flatMap, map, mapToInt, collect, filter, anyMatch, and other APIs if necessary. Learn more. Also, when appropriate, the IDE will prompt you to replace certain code with Map.computeIfAbsent, Collections.removeIf and Collections.getOrDefault. Learn more.

  • Inspections with no-highlighting policy. We’ve added a new severity value for inspections – no highlighting. In this mode, the Editor doesn’t highlight the code with warnings or errors but does provide quick-fixes. This is similar to intention actions, but inspection quick-fixes can be applied to multiple files at once, which makes them a lot easier to apply. Many existing intention actions have been made into such quick-fixes.

JVM Debugger

  • Class-level Watches. This powerful new feature lets you define Watch expressions on the class level. These watches appear as extra fields of the class but their value is evaluated based on your expressions. An expression for class-level watches is defined in the context of the class.

  • Memory View. This is a new plugin that lets you explore objects in the JVM heap during a debug session. It shows you the total number of objects in the heap grouped by their class name. As you step over the code, the Diff column shows how this number changes between debugger stops. Double-click a class name to open a dialog with instances of this class. Learn more.

Code Editor

  • Parameter Hints. This new feature, enabled by default, shows the names of method parameters for passed values that are literals or nulls. These hints make code more readable. If you find hints redundant for certain methods, you can tell the IDE to hide hints for these methods. Learn more.

  • Semantic highlighting, previously introduced in KDevelop and some other IDEs, is now available in IntelliJ IDEA. It extends the standard syntax highlighting with unique colors for each parameter and local variable. This feature is disabled by default but can be found in SettingsEditorColors & FontsLanguage DefaultsSemantic highlighting.

Build Tools

    • Delegate IDE build/run actions to Gradle. Allows you to delegate the native IntelliJ IDEA Build, Build Artifacts (both WAR and EAR) and Run actions to Gradle. When this option is enabled, all these actions are performed via the corresponding Gradle tasks. The Run action is delegated to the dynamic Gradle JavaExec task configured according to the run configuration. To enable this option, check SettingsBuild, Execution, Deployment  → Build Tools  → Gradle  → Runner  → Delegate IDE build/run actions to gradle. Learn more.
    • Gradle Composite Builds. New powerful option that lets you substitute any of your Gradle dependencies with another project. This feature requires Gradle 3.1 or higher. Learn more.
    • Polyglot Maven. A set of Maven extensions that allows the POM file to be written in Groovy, Scala, Ruby and other languages. While project import works for any language, coding assistance within POM files is available only for Groovy. Learn more.

VCS

  • Git/Mercurial Log. The Log viewer has been reworked some more, this time mainly to improve its ergonomics and speed. Searching via the Text, Author and Path filters is now much faster. Commit details have moved to the right, giving you more screen space. Commit messages in the table are now aligned and thus more readable. Labels have been moved to the right and are now displayed in a more elegant way. Filter values now persist between IDE restarts.

  • Merge and Diff. The Merge dialog now show a Resolve icon on the left side of the Editor when the IDE is capable of resolving the conflict automatically. We’ve added line markers to the dialog to indicate actual changes to the base revision. Last but not least, both Diff and Merge now provide full syntax highlighting for non-local revisions.

  • Managing Remotes. Now, the IDE provides an interface for managing Git remotes for every repo in the project.

JavaScript

  • ECMAScript 6. IntelliJ IDEA now reports all var declarations and helps replace them with let or const declarations, depending on recognized value semantics. For all require() calls, the IDE now provides a quick-fix that replaces them with import statements. Other improvements include better support for destructuring assignments, and default exports.

  • TypeScript. TypeScript gets a more accurate rename refactoring for overridden methods, and a quick-fix to shorten import statements.

  • Flow. Now, when you set the JavaScript version to Flow, the IDE reports problems in the files annotated with “// @flow” on the fly.

Android

  • Blueprint. A new mode in the Designer that hides all of the visuals from views and shows only their outlines. You can choose to have it side by side with the Designer.

  • Constraint Layout. This is a new layout manager which allows you to create large and complex layouts with a flat view hierarchy. It’s similar to Relative Layout in that all views are laid out according to relationships between sibling views and the parent layout, but it’s more flexible and easier to use.

  • Instant Run. The update has brought many stability and reliability improvements to Instant Run. If you have previously disabled it, the Android team encourages you to re-enable it.
  • APK Analyzer. It lets you drill into your APK to help you reduce your APK size, debug 64K method limit issues, view contents of Dex files and more.

Databases

  • Editing Multiple Cells. Now you can edit several similar cells at once. Select several cells and start typing the value.

  • Bulk Submit. Now changes made in the Table Editor are stored locally and submitted in bulk, via Ctrl+Enter (Cmd+Enter for OS X). Changes not yet submitted can be canceled via Undo.

Toolbox App

  • Toolbox App is a new desktop application that lets you install and update all JetBrains IDEs with ease. Learn more.

To download the preview build (available in both IntelliJ IDEA editions) and to learn about other improvements in the update, go to our website. As always, your feedback is very appreciated in our issue tracker!

Develop with Pleasure!

About Andrey Cheptsov

Part-time dreamer. JVM/JavaScript geek. IntelliJIDEA Marketing Manager at JetBrains.
This entry was posted in Beta Releases, New Features and tagged , . Bookmark the permalink.

18 Responses to IntelliJ IDEA 2016.3 Public Preview

  1. Alex says:

    Thanks for great new features guys.
    The update does not show up on the ‘Beta Releases or Public Previews’ channel.

  2. L.Sh. says:

    Wow! “Refactoring to Java 8.” is highly impressing!

  3. Alan Stange says:

    Hello, the changes look great. Thank you. I’m seeing an issue in the linux version in the database config window dialog. Start with a complete virgin config, and a new empty project. Then try to define a new Postgresql database client using the provided jdbc driver. The dialog window doesn’t allow for a hostname or port to be entered and it’s resetting the database URL as well. Something is amiss here…

  4. zander86 says:

    Could you please advise when is the full release of 2016.3 version expected?
    Thanks

  5. Oleg says:

    When will Scala’s plugin performance be fixed? I have to switch it off, it hangs every minute.

    • dotnetsender says:

      Scala plugin just uses a lot of memory. You need to use 64-bit version and edit your idea64.vmoptions to something like this:

      -server
      -Xms1024m
      -Xmx4128m
      -XX:NewSize=512m
      -XX:MaxNewSize=1024m
      -XX:MetaspaceSize=512m
      -XX:MaxMetaspaceSize=1024m
      -XX:+UseParNewGC
      -XX:ParallelGCThreads=4
      -XX:MaxTenuringThreshold=1
      -XX:SurvivorRatio=8
      -XX:+UseCodeCacheFlushing
      -XX:+UseConcMarkSweepGC
      -XX:+AggressiveOpts
      -XX:+CMSClassUnloadingEnabled
      -XX:+CMSParallelRemarkEnabled
      -XX:CMSInitiatingOccupancyFraction=65
      -XX:+CMSScavengeBeforeRemark
      -XX:+UseCMSInitiatingOccupancyOnly
      -XX:ReservedCodeCacheSize=1024m
      -XX:-TraceClassUnloading
      -ea
      -Dsun.io.useCanonCaches=false
      -Djava.net.preferIPv4Stack=true
      -XX:+HeapDumpOnOutOfMemoryError
      -XX:-OmitStackTraceInFastThrow

      Also, don’t import Scalaz, cats or something similar by wildcard, looks like it causes some sort of combinatory explosion and totally kills performance.

    • Nikolay Tropin says:

      Please check nightly build 2016.3.299 of Scala plugin, UI was made more responsible there.

    • Luke says:

      I second that. It seems that the development of the Scala Plugin is not keeping up with the development of the IntelliJ and main plugins. The quality of the plugin seems not to be improving that much, especially in the areas of the code highlighting and overall performance. It’s a pity as I believe that lots of people is using the plugin.

      • Roman says:

        Luke +1
        We had to downgrade to the older version because of the issue two month ago. With new releases of Idea, the issue remains unresolved :(

        • Alexander Podkhalyuzin says:

          Which issue? Please reach me by email to continue this conversation (Alexander.Podkhalyuzin@jetbrains.com).

      • Alexander Podkhalyuzin says:

        Highlighting and performance are always in priority of the Scala Plugin development. What’s your libraries set? Please reach me by email to continue this conversation (Alexander.Podkhalyuzin@jetbrains.com).

  6. Nicolas M says:

    Once again, Jetbrains establishes themselves as kings in the field of IDEs, fucking GG. How is the competition supposed to keep up?

  7. Kenny says:

    When I download the file,I got the message: “File Not Found”.

  8. Kyle says:

    I installed the Toolbox App as mentioned at the end of this article, however, the 2016.3 Public Preview does not seem to be available using it. There is an option to install 2016.3 EAP 163.6110.12 but I believe the Public Preview version is 163.6512.17.

  9. jtonic says:

    Hi,

    Is this public preview build available for the update mechanism (IntelliJ or JetbrainsToolbox).
    For me updating to this build doesn’t work.

    Kr

    • Timur Yuldashev says:

      Hi Kr,
      We’re working on that, thanks for noting.

      ALL-1064 Toolbox does not show latest update available for IJ EAP

Leave a Reply

Your email address will not be published. Required fields are marked *