IntelliJ IDEA 2022.2

Verbessert die Remote-Entwicklungsfunktionalität und integriert die Unterstützung für Spring 6- und Spring Boot 3-Funktionen.
Juli 27, 2022
Neue Version

Funktionen

  • Key updates
    • Remote development improvements [Beta] - Introduced a large number of major upgrades to remote development in this release. You can:
      • Connect your laptop via SSH to IntelliJ IDEA installed on a remote server and get a fluid developer experience.
      • If you’re using JetBrains Space to orchestrate the backends efficiently with the new version, you can manage your dev environments directly from IntelliJ IDEA.
    • The switch from JBR 11 to JBR 17 - As of this release, all IntelliJ IDEA updates come with JetBrains Runtime 17 (JBR 17), which brings a significant IDE performance improvement, better security, enhanced rendering performance on Apple macOS thanks to the Metal API, and more.
    • Added support for Spring 6 and Spring Boot 3 features - This release adds full support for Spring 6 and Spring Boot 3 features, including new @AutoConfiguration classes and @ConfigurationProperties classes with the new constructor-binding syntax without explicit @ConstructorBinding.
  • User Experience
    • Run Current File - To make it easier to run and debug single files without having a dedicated run configuration, the new Run Current File functionality available from the Run/Debug widget has been introduced. With its help, you can run and debug the file you currently have open, and the IDE will automatically use the run configuration type best suited for this file.
    • Keyboard shortcut to change font size globally - Added a new keyboard shortcut that changes the font size everywhere in the editor. Also, there is now a font size indicator showing the current font size along with the option to revert it back to the default.
    • Merge All Project Windows action on macOS - For macOS, the ability to organize your working space by merging all opened project windows into one has been added, turning each window into its own tab.
    • Enhanced configuration for highlighting inspections - You can now configure the way inspections appear in the editor without changing their severity level. When you want to change the inspection highlighting style, you can do so using the new Highlighting in editor drop-down menu, which conveniently shows all available options.
    • Cloning repository progress bar on the Welcome screen - The Cloning repository progress bar now appears on the IDE’s Welcome screen and is shown right in the projects list, which makes it clearer and easier to use.
    • New Description field for mnemonic bookmarks - The Add Mnemonic Bookmark dialog has been upgraded with a Description field so that you can now add an optional description to your bookmark right away.
  • Editor
    • Added new setting to disable automatic block comment closure - It’s now possible to disable automatic block comment closure when pressing Enter.
    • Faster access to Code Completion Settings - You can now access Code Completion Settings and configure your preferences right from the kebab (three vertical dots) menu button in the code completion popup.
    • Added a new notification panel for tuning file type associations - When a file is explicitly associated with plain text by mistake, IntelliJ IDEA now notifies you about the erroneous file type association and suggests resetting it right from the editor, without you having to do it manually in Settings / Preferences.
    • Added a new action to generate tables of contents in Markdown files - It’s now possible to easily generate tables of contents in Markdown files based on the document headers. The IDE will insert a table of contents at the current caret position and enclose it with <!-- TOC --> tags, so that you can update it later by calling the same menu.
  • Java
    • Improved inspections and code completion - Added a range of changes to Java inspections to help you track down potential bugs and simplify code.
      • The Standard ‘Charset’ object can be used inspection has been improved so it now recognizes .name() and .toString().
      • The IDE can now warn you when pattern variables hide fields, and it catches meaningless Objects.requireNonNullElse calls.
      • A number of JUnit-related Java inspections have been converted to JVM inspections, so they are now also available in Kotlin.
      • Code completion now suggests .class literals where applicable.
  • Kotlin
    • Support for Kotlin 1.7.0 features - The IDE now properly renders definitely non-nullable types and provides you with a helpful inspection for opt-in requirements.
    • Support for Data Flow Analysis in the Kotlin debugger - Integrated the Kotlin debugger with the Data Flow Analysis functionality so that it now displays DFA hints showing which conditions are true and which branches will be executed. Previously, this integration was only available for Java.
    • The IntelliJ IDEA native builder now uses the version of the Kotlin compiler configured in the project - Starting from this release, the bundled Kotlin compiler is no longer used with the IntelliJ IDEA native builder. Both local and CI builds now run with the version of the Kotlin compiler declared in the project settings. This change eliminates inconsistencies between local and CI builds that were previously appearing due to the mismatch of the bundled compiler version and the version defined in the project's build file.
    • Improved IDE performance for Kotlin - Optimized the IDE’s speed and performance for code highlighting, completion, and Find Usages.
  • Groovy
    • Support for GINQ - Added support for Groovy-Integrated Queries (GINQ). The IDE now provides syntax highlighting, code completion, and inspections for this feature of Groovy 4.
  • Security
    • Import of trusted SSL certificates - IntelliJ IDEA can now help you import trusted SSL certificates from system trust stores. It will automatically use the custom certificates specific to your enterprise environment. No extra actions are required from you, as everything should work right out of the box.
  • Profiler
    • CPU and Heap Memory charts available while profiling - Upgraded the IntelliJ Profiler, making it easier to collect snapshots. Now, when you start profiling, the CPU and Heap Memory live charts appear side by side with the console. As a result, you can see how your application is performing while also collecting many snapshots from the same application within the desired profiling period.
    • Support for Kotlin inline functions - Kotlin inline functions are now shown along with others in the Flame Graph, the Call Tree, and the Method List, allowing you to see their CPU time and optimize it, if needed. For now, the feature only works for the Start profiling option.
  • Frameworks and technologies
    • Support for new declarative HTTP clients in Spring 6 - Spring Framework 6 lets you define an HTTP client as a Java interface with annotated methods. This release provides URL completion, navigation, and integration with the HTTP client for such interfaces.
    • URL completion and navigation for Spring Cloud Gateway routes - IntelliJ IDEA now provides URL completion, Search Everywhere functionality, and Find Usages hints for Spring Cloud Gateway URLs. You can easily generate an HTTP request or find all gateway routes by using the Endpoints tool window.
    • Code insight improvements for JVM microservices test and mock frameworks - IntelliJ IDEA now automatically highlights JSON/XML bodies in tests with popular Java APIs such as Spring WebTestClient, RestAssured, WireMock, and MockServer. As a result, these data fragments feature better readability and are easier to edit. You can also use URL completion and navigate to declaration in these places in your tests.
    • Experimental GraalVM Native Debugger for Java - IntelliJ IDEA can now help you with debugging GraalVM native image binaries. You can attach the debugger to any GraalVM-based executable or start your application with the debugger attached. The corresponding run configuration will be created automatically for Maven/Gradle projects. This integration is experimental and requires the dev build of GraalVM and this plugin to be installed.
    • Improved navigation between Protobuf and Java sources - You can now easily navigate to generated code from .proto files and back. Make sure both the gRPC and the Protocol Buffers plugins are enabled.
    • Code insight improvements for Spring Shell - IntelliJ IDEA now recognizes CLI commands declared with the Spring Shell library and checks their correctness.
    • Improved support for JAX-RS endpoints - IntelliJ IDEA now correctly supports JAX-RS common web service URL patterns declared as @ApplicationPath and sub-resources in URL completion, navigation, and Find Usages.
    • Support for WebSocket endpoints in the HTTP client - IntelliJ IDEA now supports WebSocket connections, allowing you to create requests, and send and receive messages.
    • Support for GraphQL endpoints in the HTTP client - IntelliJ IDEA can now send GraphQL queries over HTTP and WebSocket protocols out of the box. For http:// and https:// simple HTTP requests are used, while ws:// and wss:// are delegated to the WebSocket executor.
    • UI/UX improvements for the HTTP client - Implemented a couple of UI/UX improvements to the HTTP client:
      • Added a convenient way to select a run environment using an icon in the gutter.
      • Improved the Response view by adding a progress bar, which allows you to track the downloading process.
    • Clickable URLs in JSON, YAML, and .properties string values - JSON, YAML, and .properties files now feature automatically inserted web references inside values that start with http:// and https://. You can easily open these links in a web browser with one click, or you can generate a request in the HTTP client from the Context Actions menu (Alt+Enter).
    • Improved support for Bean Validation annotations - IntelliJ IDEA now provides references and supports folding for message attributes in Bean Validation annotations in Java and Kotlin. You can use completion for message keys or navigate to their declarations in the i18n ValidationMessages.properties files.
    • Revamped AWS CloudFormation plugin - Reworked the AWS CloudFormation plugin by updating metadata schemas and improving property completion.
    • Support for Jakarta Persistence 3.1 - IntelliJ IDEA now supports all of the features in Jakarta Persistence 3.1, including the new JPQL syntax, functions, and types, and it provides language highlighting and code completion for them.
  • Docker
    • Docker image completion in tests with Testcontainers - Added image completion for the Testcontainers API where you can find all available Docker images and their versions. Click on the reference to open the corresponding Docker Hub URL in your web browser.
    • Upload local Docker image to Minikube and other connections - It is now possible to easily copy images from one Docker daemon to another using the new Copy Docker Image action, which saves the image to a file and then pushes it to the chosen connection.
    • Docker auto-connection at IDE restart - IntelliJ IDEA now automatically connects to Docker after you restart the IDE.
    • Docker connection options for different docker daemons - IntelliJ IDEA now integrates with Colima and Rancher to support more options for establishing connections to a Docker daemon.
  • Kubernetes
    • Kubernetes and Telepresence integration - The Kubernetes plugin for IntelliJ IDEA now provides integration with the Telepresence tool in order to intercept HTTP requests from services in the Kubernetes cluster and route them to your service running locally. This allows you to debug those services more easily and run only the required subset of services locally.
  • QA tools
    • Improved web page structure in the Page Object Editor - You can now comfortably read the most important parts, such as the tag name, the ID, and applied CSS classes, thanks to the text format highlighting.
    • Easy navigation via gutter icons - You can now easily navigate back to a page element by simply clicking on its icon in the gutter.
    • Page object naming from URL - When creating a new page object file, the wizard now offers an optional URL field. If the web address is included, the wizard suggests a page object file name based on the link address. Also, the inserted URL is automatically loaded when the Page Object Editor opens.
    • Automatic caret movement to the ends of code blocks - When adding new page elements to your code, the caret now automatically moves to the end of the added code block, so you can easily navigate it and simply continue editing.
    • Create a new page object from the context menu - Whenever you type a new non-referenced page object class when working on an existing one, you can now fix the unresolved code warning by simply navigating to the warning’s context menu and creating a new page object.
  • Database tools
    • Option to import multiple CSV files - Enhanced the file importing process by adding the ability to select several CSV files and import them at once.
    • New UI for the Modify dialog - The new UI for the Modify dialog has become the default option. Starting with this release, all of a table’s child objects can be added and edited using this new UI. The old UI will remain available via the context menu.
    • Playground and Script resolve modes - To ensure that database objects in SQL scripts are resolved more precisely, two new resolve modes have been added: Playground and Script. The first one is the better option if your file is just a set of unconnected queries that are independent of each other and have no particular sequence. The second is better when your queries have sequential logic and should be run as a single script.
  • Web development
    • Support for Angular standalone components - Added support for Angular standalone components. IntelliJ IDEA now properly recognizes components, directives, and pipes marked as standalone: true.
    • Improved support for Vue 3 - Improved support for Vue 3. For example, it now understands type narrowing in v-if/else directives. Also, support for Pinia, the Vue team’s recommended state management solution that works as a global store, has been improved. Both completion and resolve now work in Vue with the Pinia library, and you can navigate to state properties and actions defined in the store.
    • TypeScript 4.7 support - IntelliJ IDEA now comes bundled with TypeScript 4.7, supporting new language features like moduleSuffixes and ESM in Node.js. Additionally, the IDE now supports the typesVersions field in package.json files.
  • Scala
    • Better Scala 3 support - IntelliJ IDEA can now read match types from .tasty files, properly parse them, resolve type variables, use them as type arguments, support inspections, and show types as text. On top of that, support has been added for Option-less extractors, type lambdas and polymorphic function types, type-level compiler intrinsics, and ? as a wildcard together with _ in Scala 2.13.9 and 2.12.16. Copy-pasted code is also now properly indented.
    • New Scala inspections - IntelliJ IDEA now warns you when the return keyword is being used inside an anonymous function to jump out of the function without executing all the code inside it. This is usually not an intended usage, and can lead to leaky implementation and hidden performance costs.
      • Added a new warning which is triggered when a private or class parameter shadows a superclass variable.
      • Additionally, an error is displayed when you try to override a variable in a way that is forbidden by the compiler.
      • These new warnings can be configured to be displayed if their respective compiler options (-Xlint:nonlocal-return and -Xlint:private-shadow) are present.
    • Splitting a comma-separated list of elements into separate lines - If you have a line of code that is excessively long because it contains a list of arguments or elements in a collection, you can now use the 'Put arguments on separate lines' action from the popup menu to quickly split the list into multiple lines. The opposite is also possible - if you think a multi-line list is short enough, you can use the 'Put arguments on one line' action to make them one line.
    • Compiler-based highlighting for Scala - Compiler-based highlighting has been tuned for better resource usage. The IDE now respects the file highlighting settings defined by the user. Compilation is now triggered in fewer cases and uses fewer background threads. The compilation scope has been reduced to the relevant module and source scope.
    • Safe Delete is now available for type parameters - The Safe Delete action removes an element from the definition and all of its calls. This action now also works for type parameters.
  • Other
    • Added support for Android Studio Chipmunk 2021.2.1.
Remote development improvements

IntelliJ IDEA

Vollständige Umgebung für die Java-Entwicklung.

Sie haben eine Frage?

Live-Chat mit unseren JetBrains-Lizenzierungs-Spezialisten.