JetBrains updates IntelliJ IDEA with new dependency analyzer – although automated update spells danger

JetBrains updates IntelliJ IDEA with new dependency analyzer  – although automated update spells danger

JetBrains has released IntelliJ IDEA 2022.1, a Java IDE which also forms the basis for other development environments such as Python, PHP and C/C++.

The headline new feature is a tool called Dependency Analyzer which shows dependencies between modules, packages and classes and highlights conflicts, such as incompatible versions of the Kotlin or Java SDK.

A dialog includes a setting for transitive dependencies – where A depends on B and B depends on C – allowing the depth of the analysis to be set, as explained here.

There are also tools for analyzing cyclic dependencies (circular relationships between packages) and backward dependencies, which are files that depend on the code being analyzed.

Dependency Analyzer will report on dependencies and reveal conflicts

There is plenty more in this release, including a redesigned structural search and replace dialog with improved navigation; a new option so that multiple editor tabs automatically have equal width; enhanced new project wizards for Java and Scala; better support for Thymeleaf templates and Helidon configuration files; and the ability to apply and commit suggested changes in pull requests directly in the IDE.

Thymeleaf is an open source server-side Java template engine that integrates with Spring and other frameworks, and Helidon, also open source, is a set of Java libraries for microservices. Go microservices are now supported with an improved Go plugin.

Other features include a new notifications tool window, more code hints, automatic detection of Maven and Gradle dependencies that have security issues, an improved Markdown editor, and full support for Java 18, released last month.

Docker is better supported, with an updated user interface and the ability to create and configure new Docker Compose targets. Remote development is enhanced with a new widget showing CPU load, memory and disk statistics for the remote environment. Web developers get improved support for the Next.js framework.

RubyMine 2022.1 (Ruby IDE) has also been released, and JetBrains told us that new releases for PyCharm (Python IDE) and CLion (C/C++ IDE) will also appear this week.

There is a community edition of IntelliJ IDEA, which forms the basis for Google’s Android Studio, but some features mentioned above are reserved for the paid-for IntelliJ IDEA Ultimate, including remote development and full Spring support.

Automatic updates? Caution is advised.

While the updated features will be welcomed, developers may want to be cautious about the automatic update feature of JetBrains toolbox, a utility for managing the company’s tools.

“My IDE in Ultimate Edition was upgraded automatically and broke all my Elixir and Erlang plugins,” noted one developer. The problem is that some plugins are configured only to work with earlier versions of the IDE, so upgrading may break existing projects.