IntelliJ IDEA 2019.1 is released! Theme Customization, Java 12 Switch Expressions, Debug inside Docker containers, and more

We are excited to announce the first major update of this year – IntelliJ IDEA 2019.1 is released! This massive update comes with an impressive list of new features and improvements, make sure to check them out on the What’s new page that we’ve prepared for you!

This blogpost should give you a broad overview of the main new features that this update has to offer.

blog@2x

User Interface

  • Brand new themes and official support for themes customization!

For more details, see the Themes section of the What’s new page.

Java

  • IntelliJ IDEA comes with support for the Java 12 Preview feature – Switch Expressions JEP 325. Learn more.
  • Extract variable refactoring has been improved, and now it preserves semantics even better than before.
  • In the ternary expressions, the IDE now precisely highlights only the condition in which a nullability violation is detected.
  • We have significantly improved the analysis of mathematical operations and now the IDE can track the value of remainder, multiplication and right shift operation.
  • The IDE can now automatically infer the purity of constructors from sources.
  • There is the ability to configure variable names for auto-generated try/catch blocks.
  • Navigation from a Java stack trace to the relevant position within a line.
  • The IDE can now detect duplicated switch branches and provides a quick-fix to merge such branches.
  • You can now move switch statements and catch blocks up or down using “Move Statement Up/Down”.
  • It is now possible to import and export Structural Search patterns to and from the clipboard.

To learn more, visit the Java section of the What’s new page.

Gradle

  • The build and run actions are delegated to Gradle by default for new projects.
  • The delegation of build and run actions to Gradle can be set for each Gradle project individually.
  • HotSwap works when build actions are delegated to Gradle.
  • The built-in version of Gradle has been upgraded to v4.10.3.
  • There is a the ability to run JUnit parameterized tests using the Gradle test runner.
  • Proper selection of a Gradle test task to run from the editor.
  • The Gradle Tool Window can display the structure of a multi-module project, the same way as it would if you were to run the ‘gradle projects’ command.

For more details, see the Gradle section of the What’s new page.

Maven

  • HotSwap works when build actions are delegated to Maven.
  • The only bundled Maven version is now v3.3.9, we do not bundle Maven 2 with IntelliJ IDEA anymore.
  • Now there is the Build Tool window that lets you view all the Maven output related to the build in one place.
  • With improved Maven diagrams, you can now view conflicting dependencies or duplicate dependencies, see neighbors of the selected nodes only or the paths to the selected nodes, and preview the diagram without a border.

For more details, see the Maven section of the What’s new page.

Version Control Systems

  • Fixup and Squash actions are now available from the context menu of the VCS Log tab providing you with the ability to quickly create commits with the fixup! and squash! commit messages.
  • It is now possible to cherry-pick the files right from the VCS log using the context menu.
  • You can now see the availability of incoming and outgoing commits for the individual branches in the Branches popup, if the ‘Mark Branches that have incoming/outgoing commits in the Branches popup’ option is enabled.
  • New “Recently Deleted” node in the Shelf tab displays all the recently deleted files and provides you with the option to restore any recently deleted shelved files.
  • There is now a mode to view author initials for VCS annotations.
  • New “Uncheck all” checkbox in the Diff pane of the Commit Changes dialog for Git Partial commits to select and unselect all the code chunks at once.
  • In the Project view, the IDE now marks the files and folders ignored via Git ignore with an olive color.

To learn more, visit the Version Control section of the What’s new page.

Diff Viewer

  • You can now copy-paste text to a Blank Diff window with a drag-n-drop of the file.
  • It is now possible to view the difference by char unit in the Diff Viewer.
  • The Diff Viewer now allows you to select via the Swap Sides option which file will be displayed on the left and which will be on the right.

For more details, see the Diff Viewer section of the What’s new page.

Recent Locations Popup

  • It is possible to view all the recently visited or changed code locations using the brand new “Recent Locations” navigation popup (Cmd-Shift-E / Ctrl-Shift-E). Learn more

JVM Debugger

  • The debugger evaluator now supports synchronized statements, assert expressions, and switch statements.
  • It is now possible to step out of the current block while you are debugging a Java project using the new action “Step Out of the block”.
  • You can now invoke the run to cursor action with a mouse, simply click on the line number you need while you are in the debug mode.

Find more details in the JVM Debugger section of the What’s new page.

Scala

  • Error highlighting, implicit hints, and GoTo / Quick Definition / Quick Documentation actions are now supported for ‘For-comprehensions’.
  • Find Usages can now be invoked on implicit definitions, apply / unapply methods, for-comprehension methods, and Single Abstract Method (SAM) types.
  • It’s now possible to decompile compiled Scala files to Java.
  • You can now use a custom version of the Scalafmt formatter.
  • HOCON format support is now provided by a dedicated plugin.
  • Error highlighting has been substantially improved: partial unification, constructor highlighting, better-monadic-for compiler plugin (implicit0 feature), kind-projector (value level polymorphic lambdas), simulacrum (higher-arity type constructors) and more.

For more details, see the blog post and the Scala section of the What’s new page.

Groovy

  • Support for Java-style Lambda syntax of Groovy 3.0
  • Groovy intentions and inspections work properly inside the lambda body.
  • Ability to debug Java-style lambdas.

For more details, see the Groovy section of the What’s new page.

Kotlin

The bundled Kotlin plugin has been updated to v1.3.21

  • You can create the main method without parameters by using the ‘main’ live template.
  • A new intention action that suggests adding an “Async” suffix to a function returning ‘Deferred’.
  • A new intention for converting SAM as lambda to an anonymous object
  • String conversion improvements.

For more details, see the Kotlin section of the What’s new page.

JavaScript & Typescript

  • New refactorings and intentions for JavaScript and TypeScript destructuring
  • The intention to convert function with Promise to async/await.
  • Updated documentation for CSS and HTML.
  • An improved debugger console in the JavaScript and Node.js debug tool windows.

For more details, visit the WebStorm What’s new page.

Docker

  • It’s now possible to debug a Java application running inside a Docker container. Learn more.

Kubernetes plugin

  • The ability to load a custom resource specification from external sources.
  • Chart rename refactoring can be done in Helm resource files.

Find more details in the Kubernetes section of the What’s new page.

Editor

  • There is a new option to export all your code style settings to JSON. You can use all exported code style settings further for custom integrations with external tools.
  • The ability to enable soft-wraps depending on file type is possible.
  • The option to assign the Ctrl+Y shortcut to the “Delete Line” or the “Redo” action through the Keymap Configuration Dialog on the first usage, on Windows.
  • A pre-configured Sublime Text keymap is now available in the IDE.
  • You can use the VSCode keymap in IntelliJ IDEA by installing the brand new VSCode Text keymap plugin.

Find more details in the Editor section of the What’s new page.

Spring Cloud Stream

  • The IDE now provides it’s well-known editing support for Spring Cloud Stream: syntax highlighting, code completion, inspections, and quick-fixes.
  • The binder name completion is now available for values and references in the application.properties or application.yml files.
  • Navigation between the bound consuming and producing message handlers is now available through the icon in the gutter.

See more details in the Spring Cloud Stream section of the What’s new page.

Thymeleaf

  • Navigation to template fragments referenced in the ‘th: replace’ and ‘th: include’ attributes.
  • Rename refactorings for the included and replaced fragments.
  • Code completion now works for the included and replaced fragments.

For more details, jump over to the Thymeleaf section of the What’s new page.

Android

  • IntelliJ IDEA 2019.1 includes all changes from Android Studio 3.3. Learn more.

JetBrains Runtime

  • With IntelliJ IDEA 2019.1, you have early access to IntelliJ IDEA with the new JetBrains Runtime 11. We will keep publishing IntelliJ IDEA with both JetBrains Runtime 8 and JetBrains Runtime 11.

Database tools

  • Support for new databases: Greenplum, Vertica, and Apache Hive.
  • The connection dialog has a new look.
  • The ability to specify an SQL query which will be run each time you establish a connection.
  • New keep-alive and auto-disconnect options.

For more details, visit the Database Tools section of the What’s new page.

Other changes

  • The global menu support on Linux is no longer an experimental feature; it’s now fully supported in IntelliJ IDEA.
  • The IDE now supports Eclipse Concierge OSGi framework.
  • The plugin settings are now searchable in IntelliJ IDEA, even if a plugin is not bundled with the IDE and just installed manually, the settings will still appear in the search results.

This is quite a long list of the highlights, but while we were busy adding all these new shiny features, we haven’t forgotten about quality and stability, we continue to fix various bugs, performance issues, and make usability improvements. Overall this new major update fixes more than 1700 issues! You can find the full list of all the addressed issues in the release notes. We want to heartily thank all of you who have voted for issues, submitted features requests, and shared your thoughts and suggestions on Twitter and here in the comments! We always appreciate your feedback and please keep it coming!

Now it’s time – download IntelliJ IDEA 2019.1!

Happy Developing!

About Zlata Kalyuzhnaya

IntelliJ IDEA Marketing Manager at JetBrains. twitter: @ZlataKalyuzhnay ‏
This entry was posted in Releases and tagged . Bookmark the permalink.

34 Responses to IntelliJ IDEA 2019.1 is released! Theme Customization, Java 12 Switch Expressions, Debug inside Docker containers, and more

  1. MCMicS says:

    Toolbox not offer JBR11 Release

  2. Tim van der Leeuw says:

    How stable can I expect the new JBR11 to be on MacOS?

    If I find it too unstable to continue using, how easy is it to switch back to JBR8? Is that a quick switch or a reinstall?

  3. trivia says:

    very good! I like it very much! Such an IDE development platform

  4. Klaus Szilvas says:

    Installed Version 2018.3 will not be updated. Tried it 3 times?

  5. Joseph says:

    What I should download JBR8 or JBR11?
    ya chital na stackoverflow chto yesli pisat’ pod Android, to Idea 2019.1 s JBR11 ne rabotayet
    89/5000
    I read on stackoverflow that if I write for Android, then Idea 2019.1 with JBR11 does not work

  6. Evgeniy says:

    And how do I enable ‘Build’ tool window for Maven builds? It doesn’t appear when I run Maven builds and I cannot find it anywhere in settings.

  7. LostParadise says:

    Among the others, thank you for the global menus on Linux!
    In KDE with a top-bar menu, it looks really great!

  8. Sergey says:

    I just installed JBR8 on Mac. The fonts look ugly – too bold, and it looks like they are not antialiased property. I use SF Mono, but also tried other fonts with no luck.

  9. blackj0221 says:

    I love new splash screen :)

  10. Neville Ridley-Smith says:

    After upgrading, I’ve lost the ability to double-click or cmd-w to select text in quotes within .js files (With language version React JSX). Also can’t double-click to select anything in curly braces or perform completion. Anyone else?

    • Neville Ridley-Smith says:

      Huh – looked at the idea.log and it showed an exception in thymeleaf. So I turned off the thymeleaf plugin and now it’s working

  11. C.T. Matsumoto says:

    Not happy updated to 2019.1, the indexing took forever and my terminal was broken so I uninstalled it back to 2018.3.

    • David says:

      This is the first time I have downgraded as well.. diff window was popping up behind the main window with no way to show it, I have a maven goal checked to run pre-build, but that was blocking all builds, bunch of issues.. going to have to wait for the first bugfix release and see if that fixes things.

    • Tim van der Leeuw says:

      Still on 2019.1 (on JBR11 now, MacOS) but I did indeed notice that sometimes an annoying window pops up, saying “Analysing code” I believe. Especially when switching back and forth.
      While that window shows, I cannot do any typing.
      So, yes, I might also switch back.

    • Alexander says:

      Same for me. I am also back to 2018.3.6.
      Building is slow, rebuild as well. Run test slaw result of it a lot of useless info.
      And so on..

  12. Yuri V Baburov says:

    Arghhhh!!! In the new version everything became 2x larger, starting with the splash screen. FTW is going on? How to switch it off???

  13. Mattias says:

    I can’t see any of the new Maven features. I can’t find any “build tool window” at all. How am I supposed to find it?

    I also don’t see how I can view the Maven dependency diagrams. If go via the Maven entry in the context menu from the project window I get a popup prompting me to select a diagram type and Maven dependencies is not even in that list.

  14. Mike Smithson says:

    Seems like Inline is broken when using Kotlin. We have submitted several bug reports to Jetbrains but nothing seems to work. We have invalidated caches and restarted. Any help?

  15. Ron Birk says:

    I really really miss last changed files. It’s the feature I by far the most often. Now I get last visited locations instead. Boo!!!!

  16. Alex D says:

    >It is now possible to cherry-pick the files right from the VCS log using the context menu.
    Is it new feature? it’s presented in 2018.3.5

  17. Tim van der Leeuw says:

    With the latest release on MacOS, the cmd+` key-combo only switches between the latest two of my open windows. It used to switch between all open windows if I keep hitting that key combo.

    Using IJ 20.19.1 on JBR11, MacOS 10.14.4.

  18. Daniel Walter says:

    Any plans on releasing a snap version of JBR11?

    • Zlata Kalyuzhnaya says:

      We plan to start releasing a snap version of IntelliJ IDEA with JBR 11 starting from the next version – 2019.2.

Leave a Reply

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