IntelliJ IDEA 2018.2 Early Access Program is open!

Today we are excited to announce the start of the IntelliJ IDEA 2018.2 Early Access Program! Here are just a few reasons to download the first EAP build: the MacBook Touch Bar support, improvements in the Gradle support, new icons, Spring Boot goodies, a bunch of new inspections, and much more!

800x400_blogIJ_2018_2_EAP_@2x_preview

For those of you who were expecting the MacBook Touch Bar support in IntelliJ IDEA, we have some welcome news for you – your days of waiting are over! The upcoming IntelliJ IDEA 2018.2 introduces the Touch Bar support!

Now you can run, build, and debug your project, along with committing changes or updating the project right from the Touch Bar. The Touch Bar shows the controls depending on the context or which modifier keys you press. We support the most popular contexts, and even better – the contexts can be customized!

image27

The IntelliJ IDEA buttons are displayed in the app-specific area in the middle of the Touch Bar interface, while its left part does not change in different contexts, the VCS buttons can be replaced. For example, when the Maven or the Gradle toolbar gets the focus, the refresh (re-import) actions replace the VCS buttons.

image11

To select a configuration, simply press on the run/build configuration popover.

image14

If no configurations have been created, the Touch Bar shows the Add Configuration button.

image32

The debugger is an essential part of the IDE, so we have given it its own special layout, so when the Debug Tool Window becomes active, the Touch Bar shows:

image6

When the debugger is paused or has stopped at a breakpoint, the Pause button is replaced with a Resume button, and the Touch Bar displays the Step and the Evaluate Expression buttons:

image28

Need more debugger actions? Press the Alt key.

image21

For the dialogs, the confirmation buttons are displayed in the center of the Touch Bar.

image16

How to customize the Touch Bar?

You can currently configure both the main context and the debugger context of the Touch Bar. If you have a laptop with a Touch Bar, there is now a new Touch Bar page under Preferences | Appearance & Behaviour | Menus and Toolbars.

image17

Try it right now and see for yourself. We’d love to hear about your experience of using the Touch bar with IntelliJ IDEA; please share your feedback with us!

Java

The code completion in IntelliJ IDEA continues to evolve, and now the IDE shows both all the possible auto-completions and Javadoc, at the same time (without the need to directly invoke Javadoc each time). Please be aware that you need to actually enable this cool new feature. Go to Preferences | Editor | General | Code Completion and turn on the Show the documentation info pop-up in… options.

image15

Screen Shot 2018-05-16 at 19.09.32

The code completion now suggests the Collectors.joining() collector for the String stream.

image31

Additionally, the code completion now suggests members of the known common super-type.

image12

The IDE will also now display known data flow information right inside the editor you just need to invoke the Expression type action (Ctrl+Shift+P by default) for the second time.

image24

We’ve updated some of our existing inspections too due to Java 10 API changes. For starters, the loop to stream API migration inspection now uses the new toUnmodifiableList/Set/Map collectors automatically, if the original result was wrapped with Collections.unmodifiableList/Set/Map.

image4

The reverse conversion – the Stream to loop inspection also supports the Java 10 collectors: toUnmodifiableList, toUnmodifiableSet, toUnmodifiableMap.

image26

The Stream API support was improved with the upcoming IntelliJ IDEA 2018.2, so now the IDE detects cases when a sorted stream collects an unsorted collection. As this indicates that either the sorting is unnecessary or that using the collector or collection is wrong. Now, you’ll get a warning about the redundant distinct() call before collect(toSet()), as when collecting to the Set, the result will be distinct, anyway.

image36

image20

The IDE now suggests folding a boolean expression into a Stream chain, if you have at least three stream elements. It works for a && chains, || chains, and also some of the + chains ( getSomething(“foo”)+”,”+getSomething(“bar”)+”,”+getSomething(“baz”) can be converted into Stream.of(“foo”, “bar”, “baz”).map(this::getSomething).collect(joining(“,”))).

Please note that by default this inspection doesn’t highlight code or issue a warning. You can evoke this inspection by clicking alt+enter and apply the fix. As this is an inspection, you can run it in a scope to find all the possible places where it’s applicable.

image5

In IntelliJ IDEA 2018.1 we’ve merged all the inspections that detect a redundant string operation into a single Redundant String operation inspection. With the upcoming IntelliJ IDEA 2018.2 we’ve continued our work on the detection of the redundant string operations, and now the IDE shows cases when a substring has the length of the string on which the substring is called as a second parameter.

image38

We’ve even updated the Unnecessary call to ‘String.valueof’ inspection and renamed this inspection into Unnecessary conversion to String. Now this inspection detects unnecessary calls to static toString() methods such as Integer.toString(x) or Boolean.toString(b).

image33

The Join Lines (Ctrl+Shift+J on Linux/Windows/macOS) action has been improved; now it can merge multiple methods calls into a chained call. It works for any method call where the return type is the same as the qualifier type. This also works on a declaration or assignment line with a subsequent call.

image22

The Join Lines action now produces a cleaner result with the nested if, and when joining lines with an unnecessary 0.

image2

image19

IntelliJ IDEA 2018.2  will support Java 11! Stay tuned you are not going to want to miss the dedicated blog post about Java 11 features in your favorite IDE!

Gradle

You can now debug a Gradle script in IntelliJ IDEA. Previously, you could debug a build.gradle file only as a Groovy script, but those dark days are over. With IntelliJ IDEA 2018.2 you can now debug a gradle.build file and set a breakpoint not only at the top level of the Gradle build script but also in the Gradle DSL blocks.

image25

We have significantly improved the debugging of Gradle tasks. The debugger can connect to the Gradle daemon, or to any java process that was started by Gradle for tasks that implement the org.gradle.process.JavaForkOptions interface.

Another improvement in this area is the auto-discovery of an included buildSrc Gradle project. Now, the IDE links Gradle’s buildSrc sources and their usages in a build. So you can now navigate from the build scripts to the buildSrc source.

image30

Maven

We’ve improved Maven support in IntelliJ IDEA so now when the IDE highlights dynamically created properties; it also provides a handy quick-fix to suppress this warning.

Furthermore, the IDE also now works correctly with the maven-compiler-plugin version 3.7.0, and supports the <release> option.

Spring and Spring Boot

We have significantly improved the performance of Spring projects.

As you may already know, IntelliJ IDEA provides dedicated Spring diagrams to make it easier to quickly analyze even complex Spring and Spring Boot projects.

You can view the dependencies between beans using Spring Beans diagram or view the relationship between configuration files by utilizing the Spring Model Dependencies diagram. These diagrams are extremely useful. However, these are static diagrams that are based on static XML or Java configuration files. But what if you want to view a dependencies graph for runtime beans?

In the upcoming IntelliJ IDEA 2018.2, you can select the new Diagram Mode option and visualize the dependencies between runtime beans of a Spring Boot application.

Click the new Diagram Mode icon in the right gutter of the Beans tab in the Run Dashboard (after you’ve started your application); then you can view the Spring Runtime Beans diagram for the whole application.

image7

As you may recall, with IntelliJ IDEA 2018.1 we’ve introduced a new runtime feature that gives you the ability to access HTTP request mappings from the editor via the new editor-based REST Client. The upcoming major update v2018.2 has enhanced this feature even further, so you can manage your HTTP requests mappings from the Run Dashboard.

After you run your application, you can select the request you need from the Mappings tab and either run your HTTP request straight away or open it in the editor-based REST client.

image8

For GET methods you have the additional option to open a HTTP request in the browser.

image29

Version Control Systems

Improvements are also being made for Version Control Systems. Firstly, to make it much easier for you to find files with merge conflicts, the upcoming IntelliJ IDEA 2018.2 groups such files under a new Merge Conflicts node for each changelist. You can invoke and resolve the merge conflicts by simply clicking on the Resolve action.

image3

Favorite branches were added to the Branch filter in the Log tab of the Version Control tool window, so you can now quickly filter commits by your favorite branches.

image23

One more improvement to the VCS Log tab is that you can now open as many Log tabs as needed, set different filters for each Log tab, and monitor the changes in separate tabs. There is no need to switch back and forth between different filters anymore.

image34

Additionally, you can now preview Diff in the VCS Log.

image1

It is now possible to skip the Push dialog when using Commit and Push action or show it only when pushing to protected branches.

image9

The upcoming IntelliJ IDEA 2018.2 brings support for multiple GitHub accounts. Now you could easily work on your company project and your pet project without the need to switch GitHub account – just configure all accounts you use in the Preferences | Version Control | GitHub, and specify the default GitHub account per project.

image37

We’ve also improved the support for the JSON files in the upcoming IntelliJ IDEA v2018.2.
First of all, the IDE now supports JSON schema v4, schema v6, and schema v7.

You can now easily apply the required JSON schema for a chosen file using the brand new JSON schema drop-down menu in the status bar. To edit the existing Schema Mappings or create your own schema – simply click Edit Schema Mappings…

image35

Another useful improvement in this area is the new action to copy JSON editor breadcrumbs. You can copy either a qualified name or a JSON Pointer. To invoke this action right-click in the editor breadcrumbs.

image10

To check the compliance of a JSON file to an applied JSON schema we’ve added a new inspection.

image13

We’ve improved Java formatting and editing in a number of ways. There is a new option that adds a blank line before the class end and which affects classes and interfaces (but not anonymous classes). The IDE also adds an indent that puts the caret in the correct place (with the Enter key) in a binary expression. There are more small, yet very helpful improvements. For more information please refer to: IDEA-57898, IDEA-98552, IDEA-108112, IDEA-115696, IDEA-153628.

One more useful improvement to the upcoming IntelliJ IDEA 2018.2 – the ability to specify the default directory for opening projects. In the Preferences | Appearance & Behavior | System Settings in the Project Opening section there is a new Default directory field where you can set a directory.

We’ve bundled Kotlin 1.2.40 with the first IntelliJ IDEA 2018.2 EAP build. You can learn more here.

Also, we think you’ve probably already noticed our new icons; we hope you like them!

To see the full list of fixed issues – dive into the full release notes available with this link.

That’s it for now! Download the first EAP build and give it a thorough try! As usual, we look forward to your feedback: discussion forum, issue tracker, Twitter or here in the comments!

Happy developing!

About Zlata Kalyuzhnaya

IntelliJ IDEA Marketing Manager at JetBrains.
This entry was posted in EAP Releases, New Features and tagged , . Bookmark the permalink.

49 Responses to IntelliJ IDEA 2018.2 Early Access Program is open!

  1. Edoardo says:

    Those new icons are awesome! Love them 😉

  2. Edoardo says:

    Btw, I submitted a report for an unusual exception.
    java.lang.NoClassDefFoundError: delight/rhinosandox/RhinoSandboxes

    Thanks guys!

  3. Markus Kiss says:

    Happy that my feature request with the live-beans diagram has been implemented! Thanks JetBrains! :-)

  4. Darrel Ross says:

    Love the look and feel!

    Vue plugin is up to date, but the files are not being recongized. :(

  5. Curtis Stanford says:

    Scala plugin doesn’t work anymore

  6. Suresh says:

    I am getting the following error when upgrading from 2018.1

    Unable to import settings. /Users/xxxx/Library/Preferences/IntelliJIdea2018.1/chrome-user-data-debug/App Shim Socket (No such file or directory). Any idea what causing this error?

  7. Dmitry Shultz says:

    Great news, Thanks!

    When the Apache Camel will be in so well deserved focus? Routes diagram in form of EIP would be awesome.

  8. Bob says:

    Messing about with Apple’s dud fake keyboard (which surely will be dumped in the next year or two) seems like an eccentric use of expensive developer time.

  9. Taras Tielkes says:

    I assume that the “JvmProfiler” plugin is intended for “internal mode” only? If so, it might be a good idea to exclude it from the public EAP builds, as it seems to suggest that it is a new feature.

  10. Volodymyr Barna says:

    Scala plugin (nightly) doesn’t work :(

    • Zlata Kalyuzhnaya says:

      Hi Volodymyr, we are working on this right now and hopefully will be able to fix it soon! sorry for the trouble!

  11. Ray Offiah says:

    I’m using the Mac version, and I’ve noticed that the splash screen comes up blank for the past several releases. Is anyone else seeing this?

  12. Herman Bovens says:

    I think there’s an error in this blog post: the “Show the parameter info pop-up in…” option is enabled by default. However, the “Show the documentation popup in…” option is not.

  13. Herman Bovens says:

    Zlata, as you say “we are always listening to the feedback that our users sharing with us”, please seriously consider IDEA-63893 for this major 2018.2 release. It has 76 votes, has been open since 2010 and has been duplicated in 21 other issues. Not knowing which VCS repositories and respective branches you’re committing to when the commit dialog is open is really annoying.
    I use multiple git roots and have accidentally committed to the main development branch instead of a feature branch too often, when I didn’t realize that some file I modified was in another git root.

    • Zlata Kalyuzhnaya says:

      Hi Herman! This is definitely among our priorities right now, and we are working hard to implement it as soon as possible. Sorry, but I can’t give you any ETA.

  14. Ian Clarke says:

    I’m running the 2018.2 EAP build on my MacBook Pro with touch bar, but the touchbar doesn’t change when IDEA has focus – it just shows the normal desktop touchbar. Does it need to be switched on somehow?

  15. Michał Stochmal says:

    I don’t like it when pressing alt key causes strings getting highlighted. I’m using ALT key for selecting text in columns and it’s a mess when whole long string gets highlighted. Sometimes only keywords in string are highlighted, sometimes whole string is blue.

    Just look at this:
    https://i.imgur.com/N99YPIK.png

  16. Pingback: PhpStorm 2018.2 Early Access Program is Open | PhpStorm Blog

  17. Pingback: CLion starts 2018.2 EAP: Google Sanitizers, Gradle C++ projects, recompile a single file, and IDE performance improvements | CLion Blog

  18. Matt Khan says:

    The removal of the red X to close a tabbed docked window (e.g. a run or debug config) is so that you have to hunt for the X on the tab only is a small but remarkably irritating change. It means you can’t click/tap rapidly to close off a bunch of tabs (which is often easier than ctrl+alt+f4’ing them away). Pls bring back the X!

  19. Mike says:

    Why the «Mark modified tabs with asterisk» has been renamed to «Mark modified (*)», where the asterisks symbol «*» is not indexed in search on settings. This means that I can’t find this setting by the key word «asterisk», now I have to remember that this setting has been renamed and I have to look for the word «modified» instead of very straight-forward «asterisk».

    Common, firstly «Show hard wrap guide», now «Mark modified». I begin to get an impression that this is a try to make search for the desired setting even more difficult!

    Why to not use the word «asterisk» in the name of the setting to be able to find this parameter by the key word «asterisk»? Why to call the setting «Show hard wrap guide» instead of «Vertical line from the right of the code editor area»?

    Thanks.

  20. Mike says:

    BTW, why «Mark modified (*)» is not enabled by default?

    P.S. It will be great if the enabled/disabled features of IDE will be reviewed.

  21. Mike says:

    And last, but not least, the 2018 IDEA’s splash screens are so primitive and ugly comparing to 2015-2017 seasons. Just compare this build basic and poor splash screen with such chef-d’oeuvres of past years, e.g.:
    https://d3nmt5vlzunoa1.cloudfront.net/team/files/2017/02/2016_x_concept_preview-1.png
    http://ubuntuhandbook.org/wp-content/uploads/2017/07/intellij-idea-2017-2splash.jpg
    https://pbs.twimg.com/media/CWwx46TUYAEG3MH.png
    https://pbs.twimg.com/media/CHpR01qUMAAuXZb.png

    What happened to JetBrains Artwork Generator? It was great approach!
    https://blog.jetbrains.com/team/2017/02/08/the-art-of-code-visualized/

  22. Martin S. says:

    Touchbar!!!! Finally!

    I love this!

    First I thought, that the configuration doesn’t work, but after a full restart of PHPSTORM everything works as expected.

    Thank you for the work!!

  23. Ian Clarke says:

    I’ve installed the EAP, and I can see the touch bar config options in the preferences, and yet my touch bar doesn’t change (it just stays with the normal desktop icons).

    Do I need to do something special to enable touch bar?

  24. Greg Mascherino says:

    It would be awesome if the Mac touch bar had the Rerun button as this is something that we hit a thousand times a day. I assume you can add this via the configuration settings but feels like it should be there by default.

    • Pim says:

      Rerun is as easily as pressing cmd+r. I can imagine they left it out because it’s already a common and easy to access shortcut.

  25. Basil Bourque says:

    Is there a way to upgrade from within an existing installation of 2018.1? Or must I delete that app, and replace it manually with 2018.2?

    • Pim says:

      I recommend to install the Jetbrains toolbox app, it can manage the installations for you :-) (first install it, so you can import your settings) then delete your manual installtion

  26. Love to learn says:

    I don’t know where to start learning this! Can anyone help me?

  27. Pingback: WebStorm 2018.2: Das sind die ersten Neuerungen in den EAP-Builds

  28. zeke shaw says:

    I love you!

  29. Sven says:

    Just wanted to say thank you for the touch bar support. It’s awesome!

    No praise without suggestions, so here are mine (related to the touchbar support) in order of importance:

    1) Missing a touch bar for the [Alt]+[Shift] combination. I’m e.g. used to [Alt]+[Shift]+[F7] for “Find usages” action. At the moment what I get displayed depends on whether I first hit the [Alt] or the [Shift] key.
    2) If there are too many items on the touch bar the last ones will simply disappear — it would be better if it would be possible to horizontally scroll the touch bar.
    3) It would be great if one could edit the text for an action on the touch bar. Some action names have no icons and are quite long, so they eat a lot of the touch bar’s space.
    4) It would be nice if one could simply pick icons from other actions instead than just from the file system.
    5) Tuning the touch bar is fun, but I’m really missing a cloud sync to get it on all my systems 😉

    Keep up the great work.

  30. Brett Tofel says:

    I just switched back to 2018.1.5. While this looks like an exciting change in added features, something changed for the worse. I like right-cmd-click and see usages of my classes in Java. I did this under 2018.2 EAP and found none, shift-cmd-opt-F7 was suggested to find out of scope and pressing that did find two out of scope refs in log files, but still none in the actual class files. Switching back to 2018.1.5 showed all 46, or so, references with no other changes except for switching back.

Leave a Reply

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