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.


User Interface

  • Brand new themes and official support for themes customization!

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


  • 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.


  • 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.


  • 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.


  • 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.


  • 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.


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.


  • 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.


  • 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 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.


  • 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.


  • 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!

Comments below can no longer be edited.

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

  1. Avatar

    MCMicS says:

    March 27, 2019

    Toolbox not offer JBR11 Release

    • Zlata Kalyuzhnaya

      Zlata Kalyuzhnaya says:

      March 27, 2019

      We are currently working on this issue and hopefully InteliJ IDEA with JBR 11 will be available via ToolBox in less than an hour.

      • Avatar

        MCMicS says:

        March 27, 2019

        thanks. Now it works

  2. Avatar

    Tim van der Leeuw says:

    March 27, 2019

    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?

    • Avatar

      MCMicS says:

      March 27, 2019

      you can install both parallel and use same project.

    • Avatar

      Joe says:

      March 27, 2019

      I have been using 2019.1 since later in the EAP (but before RC) and it has been rock solid.

    • Avatar

      Tim van der Leeuw says:

      March 27, 2019

      Thanks, that should be easy to try then – I’ll give it a go one of these days!

  3. Avatar

    trivia says:

    March 28, 2019

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

  4. Avatar

    Klaus Szilvas says:

    March 28, 2019

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

  5. Avatar

    Joseph says:

    March 28, 2019

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

  6. Avatar

    Evgeniy says:

    March 28, 2019

    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. Avatar

    LostParadise says:

    March 28, 2019

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

    • Avatar

      Haarolean says:

      March 29, 2019

      Are there any other DEs which support global menu?

  8. Avatar

    Sergey says:

    March 28, 2019

    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. Avatar

    blackj0221 says:

    March 29, 2019

    I love new splash screen 🙂

  10. Avatar

    Neville Ridley-Smith says:

    March 29, 2019

    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?

    • Avatar

      Neville Ridley-Smith says:

      March 29, 2019

      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. Avatar

    C.T. Matsumoto says:

    March 29, 2019

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

    • Avatar

      David says:

      March 29, 2019

      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.

    • Avatar

      Tim van der Leeuw says:

      March 29, 2019

      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.

    • Avatar

      Alexander says:

      April 4, 2019

      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. Avatar

    Yuri V Baburov says:

    March 29, 2019

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

  13. Avatar

    Mattias says:

    March 31, 2019

    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. Avatar

    Mike Smithson says:

    April 1, 2019

    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. Avatar

    Ron Birk says:

    April 1, 2019

    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!!!!

    • Zlata Kalyuzhnaya

      Zlata Kalyuzhnaya says:

      April 8, 2019

      Hi Ron. For the recently changed files please use double Ctrl+E.

  16. Avatar

    Alex D says:

    April 3, 2019

    >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. Avatar

    Tim van der Leeuw says:

    April 3, 2019

    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. Avatar

    Daniel Walter says:

    April 29, 2019

    Any plans on releasing a snap version of JBR11?

    • Zlata Kalyuzhnaya

      Zlata Kalyuzhnaya says:

      April 30, 2019

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

Discover more