IntelliJ IDEA 2019.2: Java 13 Preview Features, Profiling Tools, Services Tool Window, and More
The news of the day: a major upgrade of our flagship IDE – IntelliJ IDEA 2019.2 – is out! With this release, IntelliJ IDEA gets a load of awesome new features and improvements. If you are eager to try out this incredible version of IntelliJ IDEA, please proceed to our website or update to it via Toolbox App!
Here is a round-up of the highlights in this release. Visit the What’s new page for the full details.
- Java 13 is coming out in September, and, as usual, IntelliJ IDEA is ready for it. The IDE provides support for the Switch Expressions preview feature (JEP 354) and its new syntax, and for the Text Blocks preview feature (JEP 355).
- The IDE can perform the Inline method refactoring even when the return statement interrupts the execution flow.
- The new Find cause action for issues detected by dataflow analysis can navigate you to the questionable piece of code.
- We’ve improved the code duplicates detection and extended it to many other languages.
- Code completion can now understand typos and will provide the most probable suggestion for a mistyped pattern.
- While working with the structural search, the IDE will instantly highlight all the found occurrences of your structural search pattern in the editor.
For more details, see the Java section of the What’s new page.
- A welcome change! IntelliJ IDEA 2019.2 now integrates with Java Flight Recorder on Windows, macOS, and Linux, and with Async profiler on macOS and Linux.
To learn more, visit the Profiling Tools section of the What’s new page.
Services tool window
- The brand new Services tool window provides a single place to view all connections and run configurations that you’ve configured to report to the Services View.
- The IDE displays the file system of the running Docker container in the Files tab of the Docker node in the Services tool window.
Find more details in the Services section of the What’s new page.
- This release comes with much-improved startup times.
- Manage all code style per scope via the EditorConfig file. Learn more.
- Syntax highlighting for over 20 different programming languages thanks to the built-in integration with the TextMate text editor.
- The default behavior of the Move Caret to Next Word action has been changed, and now the IDE moves the caret to the end of the current word.
- As you type, the Tab key navigates the caret outside the closing brackets or closing quotes, by default.
- Surround a selection with a quote or brace is on by default.
- IntelliJ IDEA now works smoothly with large files.
- The new default keymap on macOS is macOS 10.5+, instead of Mac OS X.
- To make code easier to read, we’ve changed the line spacing and now 1.2 is the default value. You can always change the line spacing in Settings / Preferences | Editor | Color Scheme | Color Scheme Font
For more details, see the Editor section of the What’s new page.
- To make quick-fixes more discoverable, we’ve given the inspection tooltip a new look, so now it not only displays the problem description, but also instantly provides you with the first available fix.
- The New Class dialog gets a new look and it now shows a preview of the list of all the possible choices straight away.
- The code completion popup has been given a fresh new look.
- There’s a new modern borderless UI on Windows 10.
- The new View | Appearance | Descriptions option in Tree Views adds additional information, such as file sizes and modification time, for elements in lists and trees in the Project View.
- The editor and tool windows tabs including debugger tabs have undergone a bit of a makeover to look the same in the Light and Darcula themes.
- While we are on the subject of uncluttering the UI – we’ve cleaned up the toolbar in the Find Usages tool window and removed or grouped together all the icons that were rarely used. We’ve also cleaned up the context menus.
For further details on these new features, please visit the Appearance section of the What’s new page
- You can view the Gradle dependencies as a diagram, by clicking on the Show Dependencies icon on the Gradle tool window toolbar (Alt+Shift+Ctrl+U on Linux and Windows / Alt+Shift+Cmd+U on macOS).
- This release comes with code insight improvements in build.gradle files. Now code completion works for the task declaration, the Gradle tasks’ notations, and even inside dependency blocks.
- We’ve improved the display of the output of Gradle operations, to provide you with information about the current status of the sync/build process, and now the status tree and output console are shown together side by side.
- The Gradle settings dialog has been reworked and cleaned up.
For more details, see the Gradle section of the What’s new page.
- Output of Maven sync is now displayed in the Build tool window, to make the progress and error reporting more visible and to simplify the navigation.
- IntelliJ IDEA offers code completion inside the Maven dependencies in the pom.xml file out of the box.
- The bundled Maven version has been updated to v3.6.1.
For more details, see the Maven section of the What’s new page.
Version Control and Diff
- IntelliJ IDEA 2019.2 brings out-of-the-box support for the native Git ignore files handling. Learn more.
- The IDE will remind you to modify and include into a commit the files you commonly commit together with the files you’re currently modifying.
- It is now possible to commit from the Local Changes tab; just enable the option Commit from the Local Changes without showing a dialog at Preferences / Settings | Version Control | Commit Dialog.
- View the Git file history for a directory or multiple directories selected from the Project View.
- Two new options, Abort Merge and Abort Cherry-pick, are available in the Branches popup when there is an ongoing merge or cherry-pick process.
- Customize VCS Log columns by choosing one of the following columns: Author, Date, or commit hash, which will be displayed in the VCS Log tab.
- Update Info after Update Project action is shown as Log tab.
- The improved Compare Branches action in the Git Branches popup menu displays in the Log tab a list of all the commits that exist in one branch but do not exist in the other.
- The new Show Diff with Working Tree action shows the Diff between the current and selected branches.
- The improved Collapse Unchanged Fragments mode of Diff now shows the method name in which the current code chunk is modified, to make it easier for you to understand the context.
- The IDE now prompts you to add files to the version control that were copied into a project externally.
Find more details in the Version Control section of the What’s new page.
The bundled Kotlin plugin has been updated to v1.3.41.
- Better Kotlin JPA support includes: code completion, error highlighting, gutter icons for navigation, and the ability to generate Kotlin entity classes.
- The Async stack trace action now shows the state of the variables at the last point of suspension.
- The new interactive mode for Kotlin scratch files shows you the results on the fly after a certain timeout, without the need to explicitly rerun the script.
- The IDE highlights Kotlin TODO comments in the editor and displays them in the TODO tool window.
- If you use external nullability annotations for Java, the IDE warns you about incorrect usages of annotated Java methods from Kotlin.
To learn more, visit the Kotlin section of the What’s new page.
- IntelliJ IDEA now shows a type ascription hint and highlights the parts that don’t match the expected type.
- Type mismatch tooltips are now fine-grained, vertically-aligned, and offer a pairwise comparison.
- Type annotation hints now support dynamic folding, tooltips, navigation, and brace matching.
- IntelliJ IDEA can now wrap (or unwrap) expressions automatically, as you type.
- The IDE now uses grey to color all redundant code uniformly, so the highlighting is less obtrusive.
- We’ve improved code completion so that you can now complete the whole case clause.
- Now you can inject languages into multiline string literals with margins.
- IntelliJ IDEA fully supports the Build Server Protocol (BSP).
Find more details in the Scala section of the What’s new page.
- Support of Groovy 3.0 syntax has been improved – we now support nested code blocks and have made the braces and arrow in closure expressions bold by default, to make it easier to distinguish code blocks from closures.
Visit the Groovy section of the What’s new page to learn more.
- A new intention, Propagate to destructuring intention (Alt+Enter), can replace an extra variable, if it’s possible, with another destructuring.
- More precise code completion is available for components and their props for the Vuetify and BootstrapVue libraries.
For more details, visit the WebStorm What’s new page.
- Now the Step Into action offers you a choice of methods to step into.
Shell Script support
- Rich editing support is available for shell scripts including word and path completion, Quick documentation preview, and even a textual rename.
- The IDE integrates with Shfmt – an external formatter engine, Shellcheck – a handy inspection tool, and Explainshell – a website which offers detailed explanations for selected commands.
- You can create a Run Configuration to execute a script.
Visit the Shell Script section of the What’s new page to learn more.
- HTTP Client supports cURL requests. Simply paste a cURL string and the IDE will automatically convert it into a full request.
- HTTP Client now keeps all the cookies for you and transfers them in the next requests.
See more details in the HTTP client section of the What’s new page.
- Now when you run a command that outputs a long line, the Terminal soft-wraps it gently, keeping all the links working.
Check out the Terminal section of the What’s new page to learn more.
- Full-text search allows you to search through the data sources or groups of data sources for some data with unknown location.
- You can filter by data source in search and navigation.
For more details, visit the Database Tools section of the What’s new page.
- We’ve made the Plugins page more ergonomic.
- The new IDE version is stripped of idle plugins. In this release, we’ve unbundled several plugins: Struts 1, J2ME, JsTestDriver, Griffon (1.x), and CloudBees. Learn more.
- Node.JS is now bundled with IntelliJ IDEA Ultimate.
Find more details in the Plugins section of the What’s new page.
- The Kubernetes plugin gets Kustomize support. The IDE offers completion for keys and paths, provides inspections, rename refactoring, and more.
- You can add a custom resource definition (CRD) specification from external sources using URLs.
Find more details in the Kubernetes section of the What’s new page.
- IntelliJ IDEA 2019.2 runs under JetBrains Runtime 11 by default.
As usual, IntelliJ IDEA not only comes with fancy new features, but also with stability and performance improvements, and countless bug fixes. If you want to dive into the details, here is a link to the release notes.
We want to say a big Thank You to all our users for sharing your thoughts and suggestions with us via our issue tracker, Twitter, and here in the comments. IntelliJ IDEA wouldn’t be where it is today without you!
We hope you enjoy all the new features and improvements that we’ve prepared! Download IntelliJ IDEA 2019.2!