IntelliJ IDEA 2019.1: Customization of interface themes, switch expressions from Java 12, debugging inside Docker containers

    This is an overview of what's new in IntelliJ IDEA 2019.1. Links in the headings lead to the appropriate sections on the site, where everything is described in detail, but in English.

    image

    Interface


    Made new interface themes and the ability to create them yourself.



    Java




    • Added support for the Switch Expressions feature from Java 12 Preview: JEP 325 . More details here.
    • Extract Variable refactoring preserves semantics better than before.
    • In ternary expressions, the IDE only highlights the condition in which a null value violation has been detected .
    • The IDE keeps track of the values ​​of multiplication, remainder, and right shift operations.
    • Now you can configure variable names for automatically generated try / catch blocks .
    • The IDE now automatically infers the purity of constructors from sources.
    • You can go from the stack trace to the exact location of the error on the line.
    • The IDE has learned to find duplicate switch branches ; they can be merged using a quick fix.
    • You can move switch expressions and catch blocks up / down using the Move Statement Up / Down action .
    • Now you can import and export Structural Search templates to and from the clipboard.

    Gradle




    • In new Gradle projects, build and run actions are delegated to Gradle by default.
    • Build and launch delegation can be configured separately for each Gradle project.
    • When the assembly is delegated to Gradle, the HotSwap function works .
    • The built-in version of Gradle has been updated to 4.10.3.
    • Using the Gradle test run tool, you can now run parameterized JUnit tests .
    • The IDE correctly selects which Gradle test task to run from the editor.
    • In the Gradle window, you can view the structure of a multi-module project without having to run the gradle projects command .

    Maven




    • When the assembly is delegated to Maven, the HotSwap function works .
    • Now IntelliJ IDEA only works with Maven 3.3.9. Maven 2 is no longer supported.
    • All Maven build output is now displayed in one place - in the Build tool window .
    • Maven diagrams show conflicting dependencies and duplicates. In addition, you can separately view the neighbors of the selected node or the path to them, and also disable the frames on the diagram.

    Version Control Systems




    • Fixup and Squash actions are now available in the context menu on the VCS Log tab, so you can
      quickly create commits with fixup messages ! and squash!
    • You can scrape files from the VCS log in the context menu.
    • In the Branches window, you can now see the presence of incoming and outgoing commits for individual branches, if the Mark Branches that have incoming / outgoing commits in the Branches popup option is enabled .
    • The new Recently Deleted node on the Shelf tab shows all recently deleted pending files and makes it possible to recover them.
    • For VCS annotations, there is a mode in which only the initials of the author are displayed.
    • Performing a partial commit, you can select all code fragments and deselect them in one step : use the new Uncheck all flag in the Diff panel of the Commit Changes dialog box .
    • In the Project panel , files and folders that are ignored using Git ignore are highlighted in olive color.

    Diff viewer




    • To copy text into an empty Diff window , you can drag a file into it.
    • Now in Diff Viewer you can view the differences not only by words, but also by symbols.
    • The new Swap Sides option allows you to choose which file in the Diff Viewer will be displayed on the left and which one on the right.

    Recent locations


    In the new Recent Locations pop-up window ( Cmd-Shift-E / Ctrl-Shift-E ) you can see all the places in the code that you recently visited or edited.



    JVM Debugger




    • The debugger expression evaluator now supports synchronized statements, assert statements, and switch statements .
    • While debugging a Java project, you can exit the current block using the new Step Out of the block action .
    • Now you can call the cursor transition action with the mouse - click on the desired line number in debug mode.

    Editor




    • The export of code style settings to a JSON file works . Exported settings can be used to integrate with external tools.
    • Now you can enable soft-wraps for a specific file type.
    • The first time you use the keyboard shortcut Ctrl + Y on Windows, you can assign it to the Delete Line or Redo action in the Keymap Configuration dialog .
    • Added Sublime Text layout .
    • The VSCode layout is made in the form of the VSCode Text keymap plugin .

    Scala


    • Error highlighting, implicit prompts and actions of GoTo / Quick Definition / Quick Documentation now work in for- generators.
    • The Find Usages action can be called for implicit definitions, apply / unapply methods, for- generator methods, and Single Abstract Method (SAM) types .
    • You can decompile compiled Scala files in Java .
    • Now you can choose the version of the Scalafmt formatter .
    • Made a plugin for the HOCON format .
    • Improved error highlighting: partial union, constructor highlighting, better-monadic-for compiler plugin ( implicit0 function ), kind-projector (polymorphic lambdas at the level of values), simulacrum (type constructors with greater arity) and more.

    Groovy


    • Support for Java syntax for lambda expressions from Groovy 3.0.
    • Intention actions and inspections for Groovy work inside the lambda body.
    • Debugging Java lambdas.

    Kotlin



    • The built-in Kotlin plugin has been updated to version 1.3.21.
    • You can create the main method without parameters using live templates .
    • The IDE suggests adding the Async suffix to the function that returns Deferred .
    • Another intention will help transform SAM as a lambda into an anonymous object.
    • Improved string conversions.

    JavaScript and Typescript


    • New refactoring and intention actions for restructuring JavaScript and TypeScript.
    • New action to replace a function that returns Promise with an asynchronous function with async / await .
    • Updated documentation for CSS and HTML.
    • Enhanced console in JavaScript debugger and Node.js.

    Docker


    Now you can debug Java applications running inside the Docker container.



    Kubernetes Plugin


    • Added the ability to download resource specifications from external sources.
    • Rename refactoring for charts can be applied to Helm resource files .

    Spring cloud stream


    • They supported editing projects in S pring Cloud Stream : syntax highlighting, code completion, inspections and quick fixes.
    • Auto-complete binding names work for values ​​and references in application.properties and application.yml files .
    • You can switch between the consumers and producers related message handlers by the icon in the editor field.

    Other


    • IntelliJ IDEA 2019.1 includes all the innovations of Android Studio 3.3. More details .
    • Early Access to the New JetBrains Runtime 11. For now, IntelliJ IDEA is available with both JetBrains Runtime 8 and JetBrains Runtime 11.
    • Supported the Greenplum, Vertica, and Apache Hive databases. Snowflake will appear in the next update.
    • New keep-alive and auto-disconnect settings for data sources.
    • Поддержали фреймворк Eclipse Concierge OSGi.
    • Появилась возможность поиска настроек плагинов. Даже если плагин установлен вручную, настройки будут отображаться в результатах поиска.

    The list of important improvements turned out to be quite large, but in working on all these cool features we did not forget about quality and stability - we continue to correct errors, get rid of performance problems and make the IDE even more convenient.

    The full list can be found in release notes . We thank everyone who votes for the tasks in the tracker, sends suggestions for improvement, shares thoughts on Twitter and in the comments on Habré. Your feedback helps us make IntelliJ IDEA better, keep up the good work!

    Download IntelliJ IDEA 2019.1

    JetBrains

    Also popular now: