IntelliJ IDEA 2019.2 EAP2: Shell Script Support, Improved Code Duplicates Detection, Services Tool Window, and More

Zlata Kalyuzhnaya

Please welcome a new EAP build for the upcoming IntelliJ IDEA 2019.2 which we have loaded with new features!

Shell Script support

The upcoming IntelliJ IDEA 2019.2, will provide rich editing support for shell scripts, including word and path completion, Quick documentation preview, and even the textual rename.

ShellScriptCompletion

The upcoming IntelliJ IDEA 2019.2, will include integration with several external tools to enhance the shell script support even further.
For detecting possible errors in your script, the IDE will prompt you to install the inspection tool named Shellcheck, which can detect a ton of issues and provide quick-fixes for them.

ShellScript1

Also, the upcoming IntelliJ IDEA 2019.2 will have integration with the Shfmt external formatter engine. When you invoke the Reformat Code action for the first time, the IDE will suggest you install this tool, and then after that the IDE will properly format your shell script.

The upcoming version of IntelliJ IDEA will have integration with the website Explainshell. This means that you will be able to select a command in the editor and press Alt-Enter on it and the IDE will take you to Explainshell where you’ll find a detailed explanation of the selected command.

ShellScript2

Improved detection of code duplicates

IntelliJ IDEA offers powerful tools to spot code duplicates. It can detect duplicates on the fly for Java with the “Duplicated code fragment” inspection. For all other languages, including Java, there is the Locate duplicates tool, which is highly configurable but doesn’t work on the fly.

With the upcoming 2019.2 release, we’re merging these tools so that you get the combined advantage of both in a single updated inspection – the “Duplicated code fragment”. It is configurable, works on the fly, and supports lots of languages including Java, Kotlin, Groovy, JavaScript, ActionScript, TypeScript, PHP, Python, HTML, XHTML, XML, CSS, and Ruby.

Of course, the IDE will provide an option to quickly navigate to duplicates, and it gives you options for a quick-fix when needed.

image9

image3

Please note that this feature is only supported in IntelliJ IDEA Ultimate.

Services tool window

The upcoming IntelliJ IDEA 2019.2, will introduce a brand new Services tool window which will provide a single place to view all connections and run configurations that are configured to be reported to the Services View. The Services tool window incorporates several tool windows such as RunDashboard, Database Console, Docker, and Application Servers.

ServicesView

Of course, we have kept all the actions that were specific to the incorporated tool windows accessible through their own nodes.

You can view all the service types as nodes, or you can alter the view to see them as tabs. Use the “Show in New tab” action from the toolbar or simply drag and drop the needed node on to the edge of the Services tool window.

You’ll be able to create a custom tab where you may group various services – simply select the services needed and invoke the Group Services action from the context menu or from the toolbar.

ServicesTabs

Version Control and Diff

Improved “Collapse Unchanged Fragments” mode of Diff

When you use Diff in the “Collapse Unchanged Fragments” mode, the IDE will now show a method in which the current code chunk is modified making it easier for you to understand the context. Previously, the Diff would collapse a method signature if it wasn’t changed, so you would only see the changed lines, but you would have no idea in which method they were changed.

Screen Shot 2019-05-31 at 13.11.32

Ability to view the Git file history for multiple directories selected from the Project View

In the upcoming IntelliJ IDEA 2019.2, it will be possible to select several folders in Project View and see all changes in any of these folders. Select the folders you want to check the changes in and choose the Git | Show History from the context menu.

JetBrains Runtime

JBR 11 (default) was updated to v11.0.3+12-b262.3:

  • The issue with the context menu in the diagram popup was fixed: JBR-1255
  • Find Action shortcut now works on macOS JBR-1135
  • Select All action doesn’t break under certain conditions JBR-1433
  • The IDE doesn’t freeze after returning from sleep or connecting/disconnecting external displays (macOS): JBR-1393
  • Fixed various problems with emojis JBR-1435.

JBR 8 was updated to v1.8.0_202-release-1566-b8

  • JavaFX was upgraded for MacOS and Linux up to 8u212 . On Windows, it is still 8u202 due to the issue: JBR-1531.

Download the new IntelliJ IDEA 2019.2 EAP build and give these new features a try! Don’t hesitate to submit feature requests to our issue tracker. Any feedback you can provide here in the comments is also appreciated.

Happy Developing!

Comments below can no longer be edited.

20 Responses to IntelliJ IDEA 2019.2 EAP2: Shell Script Support, Improved Code Duplicates Detection, Services Tool Window, and More

  1. Xinky says:

    June 3, 2019

    I saw there is a new sdk feature: IDEA-214797 Allow using color palette in themes
    How to use this feature in my theme plugin?

  2. michel says:

    June 3, 2019

    The new Services tool window is absolutely great! The ability to show any node in a new tab is perfect.
    We can finally have every running things in the same window (with tabs or not), even the database consoles.

    The only thing missing is the ability to move the tabs left or right like we can do recently with the terminal tabs.

    • Zlata Kalyuzhnaya says:

      June 3, 2019

      Hi Michel! Thank you for your feedback. Regarding the move tab issue, please follow this issue: https://youtrack.jetbrains.com/issue/IDEA-71490

      • xxx says:

        June 4, 2019

        How can I add my run configurations to services tool window?
        My services tool window is empty in a springboot project

        • Zlata Kalyuzhnaya says:

          June 4, 2019

          In the Run/Debug Configurations dialog, select the Templates from the list in the left-hand pane and add the required run configuration to the Configurations available in Services section.
          https://www.jetbrains.com/help/idea/creating-and-editing-run-debug-configurations.html#run-dashboard

          • xxx says:

            June 5, 2019

            Oh… get it !
            it’s REALLY hard to find

            • Adam says:

              June 18, 2019

              I agree, until I found this comment I had absolutely no idea how to turn this on after an hour of searching.

  3. Jógvan Olsen says:

    June 4, 2019

    One feature I would love to be added to the Shell Script support would be able to create a Run Configuration to execute a script.

    • Zlata Kalyuzhnaya says:

      June 4, 2019

      Hi Jógvan, thank you for your feedback. Please follow this issue for the update: https://youtrack.jetbrains.com/issue/IDEA-215578

    • GuLhe says:

      August 9, 2019

      That and the refactor>extract {variable,function,…} that would be grand !

  4. Roman says:

    June 4, 2019

    Looks like the new EAP has a bug with gradle resync. Added a bug for this – https://youtrack.jetbrains.com/issue/IDEA-215572

    If this is critical for you you might want to wait until it’s fixed.

    • Zlata Kalyuzhnaya says:

      June 5, 2019

      Thank you for reporting this issue. We’ll take a look.

  5. Laura says:

    June 4, 2019

    I’m getting an error with the PHP plugin when running on Ubuntu —
    The following plugins are incompatible with the current IDE build: PHP

    • Zlata Kalyuzhnaya says:

      June 5, 2019

      Thanks for the info. It is fixed now. Please update the PHP plugin.

  6. Rob Crawford says:

    June 5, 2019

    The URL for downloading PlantUML is wrong, and there’s no clear way to provide the JAR manually.

  7. Tristan Bellman-Greenwood says:

    July 19, 2019

    Will the Shell plugin be available for Rider as well?

  8. Porfirio says:

    July 30, 2019

    ShellScript run configuration should allow to specify the run script relative to project directory like:

    ${PROJECT_DIR}/script.sh

  9. Per Lundberg says:

    October 29, 2019

    Late to the party, upgraded to 2019.2.3 yesterday. One annoyance I’ve noted is that trailing \ characters for lines in shell scripts (which are used to continue a variable to the next line) now show a red squiggly, implying that there is something wrong with this line.

    For exampple, try writing a shell script that contains this variable and you’ll quickly notice the problem:

    JAVA_OPTS=”\
    -Djava.awt.headless=true \
    -Djava.net.preferIPv4Stack=true \
    -XX:+HeapDumpOnOutOfMemoryError \
    -XX:HeapDumpPath=/tmp/”

    Any way to get rid of this? I find it incredibly annoying; this wasn’t the case with the earlier 2019.1 version I used to run (with BashSupport) previously.

    Thanks in advance.

    Best regards,
    Per

Subscribe

Subscribe for updates