days
0
2
hours
0
6
minutes
2
4
seconds
3
3
Charting IntelliJ IDEA's 2019 progress

IntelliJ IDEA 2019 progress report: 2019.1 EAP3 arrives with early access to IntelliJ IDEA with the new JetBrains Runtime 11

JAX Editorial Team
intellij idea 2019
© Shutterstock / tomes

Checking in on IntelliJ IDEA 2019! It’s time to say hello to the all-new IntelliJ thread. Kicking off the new month, IntelliJ IDEA 2019.1 EAP3 brings some very interesting updates including early access to IntelliJ IDEA with the new JetBrains Runtime 11.

Exactly one week after the release of EAP2, we are here with a new update!

For the complete list of features, check out Zlata Kalyuzhnaya’s blog post.

EAP3 is now available and with no further ado let’s have a closer look at the most interesting highlights.

Editor

Sublime Text keymap – The Sublime Text’s keymap becomes available in IntelliJ IDEA. You can start using Sublime Text’s shortcuts as soon as you select the Sublime Text keymap.

Ability to enable soft-wraps depending on file type – You can use the soft-wraps to handle the appearance of long lines of code. With this upcoming release, it is possible to limit the soft-wraps to specific file types.

Option to export your Code Style settings to JSON – You can now export all your code styles settings to JSON from IntelliJ IDEA. Previously it was only possible to export them to an XML file.

JVM Debugger

New “Run to mouse pointer” mouse gesture – Now while in the Debug mode you can click on the line number and the IDE will perform the run to cursor (mouse pointer) action. Therefore, when you hover over a line the IDE will highlight this line, and if you click on a line number the IDE will invoke the run to cursor action by mouse (if you prefer to use the mouse rather than the keyboard).

Version Control Systems

New “Uncheck all” checkbox for partial Git commits – IntelliJ IDEA supports partial Git commits; you can add code chunks into a commit using the checkboxes in the Diff pane of the Commit Changes dialog and in EAP3, it is much easier to use.

Adding file content to the Blank DIff Window by drag-n-drop – Copy-paste text to a Blank Diff window with a drag-n-drop of a file, or alternatively, you can do it through the file navigation.

IntelliJ IDEA with JetBrains Runtime 11 – You now have early access to IntelliJ IDEA with the new JetBrains Runtime 11.

 

Update January 31, 2019

EAP2 is here with some interesting goodies including better data flow analysis, JVM Debugger improvements, Kotlin 1.3.20, and Maven 3.6.0.

For the complete list of features, check out Zlata Kalyuzhnaya’s blog post.

Don’t forget to grab a copy of the IntelliJ IDEA 2019.1 EAP build. Let’s explore some of the new features!

Java

Data flow analysis is improved with every major release and this one is no different.

Speaking of improvements, the precision of the warning highlighting for ternary expressions is even better now since the IDE will only highlight a condition in which a nullability violation is detected. Previously, the IDE used to highlight the entire ternary expression, even when the nullability was only violated in a single branch. Furthermore, this new feature means that switch expressions also have precise highlighting now.

What’s more, the data flow analysis tracks the value of mathematical operations and uses this information to warn you about the conditions that are always true or false. With the upcoming release, the analysis of many math operations will include multiplication, remainder, and bitwise operations.

The support for the @Contract annotations has also been improved, which means that the IDE can automatically infer the purity of constructors from sources; it can also add annotations icon in the gutter. When you click on it, the IDE adds a @Contract(pure = true) annotation to your codebase. The constructor purity was already inferred for library code and now it works for source files as well.

Also new is the fact that IntelliJ IDEA now enables non-null parameter inference for non-stable source methods. This means that if a method can be overridden, but the base class implementation unconditionally dereferences the parameter, it’s acceptable to have a not-null inference for the parameter. Don’t forget to report to the issue tracker if this feature generates false-positive nullability violation warnings in your project.

Moving on to other Java-related improvements, IntelliJ IDEA now tries to take you from the Java stack trace to the relevant position within a line. This change is pretty impressive considering that until now when you clicked the link in the stack trace, it would only take you to the first column of the corresponding row. Now, the IDE tries to determine the exact location within the row to take the cursor to when it’s possible.

Last but not least, the “Dump Threads” action in the Run tool window opens the Dump tab where you can view all the thread dumps and the stack traces associated with those threads. Plus, the most important threads are shown at the top of the list, making it easy to locate the thread you need and to navigate to it.

JVM Debugger

The debugger evaluator has been improved to support synchronized statements, assert expressions, and switch statements.

Maven

The Maven version bundled with IntelliJ IDEA has been updated to v3.6.0.

Kotlin

This EAP build updates the bundled Kotlin plugin version to 1.3.20. For more details, have a look at the Kotlin blog.

 

Update January 28, 2019

It’s time to say goodbye and farewell to our 2018 thread: it’s a new year and that means a new IntelliJ IDEA.  The Early Access Program is now open for developers to take IntelliJ IDEA 2019.1 for a spin. What will they find? While this is an early access version and still a work in progress, there’s a lot to explore for the new year.

With over 900 issues fixed, IntelliJ IDEA 2019.1 promises a much easier environment for developing. Check out the release notes for the multitude of bugs, performance problems, and usability issues that have been fixed.

Today, we’re a look at what JetBrains has in store for developers for 2019. You can download the EAP here.

Java

The upcoming 2019.1 will come with support for the planned Java 12 Enhanced Switches. In the Java 12 preview, IntelliJ IDEA can generate missing switches as well as work for enhanced switch statements or expressions. If there’s an error in the switch statement, IntelliJ detects it and can suggest a correction. It can also detect duplicate branches.

Extract variable refactorings have been improved as well, making it possible to better preserve semantics. IntelliJ IDEA 2019.1 extracts variables from field initializers and automatically moves initializers into initializer blocks. It currently works for return, assignment, and declaration. Developers can also configure variable names for auto-generated try/catch blocks.

Gradle

2019.1 comes with improved Gradke integration as a number of bug fixes and usability issues have been dealt with. “Delegate build/run to Gradle” has been enabled by default for new projects. It can also be set for each Gradle project. HotSwap now works. The overall built-in Gradle version has upgraded to v4.10.3.

Maven

IntelliJ IDEA 2019.1 does support Maven 2, but it will no longer be bundled with it anymore. Maven v3.3.9 will be bundled with IDEA 2019.1. In fact, JetBrains is considering to end support for Maven 2 in v.2019.2; please add your comments if you have thoughts on the matter.

Version Control Systems

New actions are available for developers in 2019.1: Fixup and Squash. These actions allow developers to create commits with the correct commit messages. Developers can also cherry pick select files from the commit from the context menu. Plus, the IDE indicates incoming and outgoing commits for individual branches in the Branches popup.

2019.1 also allows developers to view and restore deleted shelved files. There are also changes for Git settings, file status highlights, and the diff viewer.

Editor

Do you use Ctrl+Y? The first time a developer uses that keystroke, there will be a new Keymap Configuration Dialog. Developers will be able to choose whether that shortcut belongs to “Delete Line” or “Redo”. (Of course, this can be reassigned later if necessary.)

2018.3 already provides initial support for Spring Cloud Stream; 2019.1 pushes this further with rich editing support with things like syntax highlighting, code completion, inspections, and quick-fixes.

 

This is just the highlights for what is coming soon to an IDEA near you. Check out Zlata Kalyuzhnaya’s post for more information about the upcoming IntelliJ IDEA 2019.1.

Leave a Reply

Your email address will not be published.