IntelliJ IDEA 2022.3

Integriert eine neue Lösung für die Einstellungssynchronisierung zum Synchronisieren und Sichern Ihrer benutzerdefinierten Benutzereinstellungen.
Dezember 2, 2022
Neue Version

Funktionen

  • Key updates
    • New IntelliJ IDEA UI available via a setting [Beta] - You can now switch to the new UI in Preferences / Settings | Appearance & Behavior / New UI.
    • New Settings Sync solution - The new solution is capable of syncing most of the shareable settings from the platform, bundled plugins, and some third-party plugins.
    • A new way to work with projects in Microsoft Windows Subsystem for Linux 2 (WSL2) - Added an alternative way to work with projects running in WSL2 file systems. Instead of running a full IDE on Windows, you can launch your IDE backend directly in WSL2. You can then connect to it the same way you would connect to any remote machine when using remote development in IntelliJ IDEA.
    • New actions for Spring beans autowiring and OpenAPI schema generation - You can now easily autowire Spring beans right from where you need them. This new action is available for Spring, Micronaut, and Jakarta EE CDI. Also, the user experience for documenting web APIs with OpenAPI specifications has been enhanced, by making it possible to instantly generate an OpenAPI definition for a Spring controller or JAX-RS resource.
    • Redis support - Added support for Redis. You can now connect to Redis Single Instance, explore key values in the data viewer, write and execute Redis queries with the help of the smart coding assistance, and more.
  • User experience
    • Option to dock tool windows to floating editor tabs - The option to drag tool windows out of the main window and dock them to floating editor tabs has been added.
    • Intention action preview enabled by default - The preview functionality for intention actions is now switched on by default so you can instantly see how your code will be altered once you apply the IDE’s suggestions.
    • Improved Search Everywhere results - The algorithm behind the Search Everywhere result list has been fine-tuned to make its behavior more predictable and accurate.
    • Similar usages clusters in Find Usages results - Find Usages now provides you with more insightful information about how a code element is used in your project. The IDE now analyzes search results, detects the most common usage patterns, and categorizes all found usages into groups based on their structural similarity.
    • Improved tips of the day - Updated the dialog’s design and added a heading for each tip to specify which area of the IDE is being described. Added tip rating functionality and fine-tuned the algorithm that determines which tips appear to make them more relevant to your experience with the IDE and the project you’re working on.
    • UI improvements for bookmarks - Added several UI improvements for the Bookmarks feature. For example, you can now bookmark files from editor tabs by right-clicking on a tab and selecting Bookmarks from the context menu.
    • Viewing library code in your preferred code style - Added the ability to read code in your preferred style, even if it differs from the file’s current formatting. You can apply a new visual formatting layer in Reader mode, which adjusts the appearance of the code according to your custom formatting scheme without requiring you to reformat the real code.
    • Performance improvements - Optimized the IDE’s startup experience by parallelizing some of the processes that used to run sequentially and reduced eager class loading. UI responsiveness has been improved by moving action updates to a background thread, and indexing has been enhanced by implementing multithreaded VFS refresh.
  • Editor
    • Improved copy-cut-paste behavior - Reworked the behavior of the paste action (Ctrl+V). Now when you copy (Ctrl+C) or cut (Ctrl+X) a line without any code selected, the paste action will add the contents of the clipboard above the current line, not at your caret as it did in previous versions.
    • Code Vision hints for JavaScript and TypeScript - Added Code Vision inlay hints for JavaScript and TypeScript. These hints provide you with instant insights about your code right in the editor, displaying metrics like inheritors, usages, code authors, and related problems.
  • Java
    • New Java inspections and other improvements - Added a range of new Java inspections and quick-fixes to protect your code from possible hazards and errors:
      • There’s a new inspection that detects switch expressions that have a common statement in every branch, and offers a quick-fix to move the statement up into the switch expression and thus shorten the code.
      • The IDE now reports redundant array length checks, as well as redundant parallel() calls after Collection.parallelStream().
      • A new inspection reports the unnecessary creation of arrays, lists, or strings when only one element or character is used.
    • Java 19 support - The IDE now supports record patterns as well as the changes to pattern matching for switch expressions, providing code highlighting, completion, and navigation. The existing inspections and quick-fixes have been updated accordingly to support these changes.
  • Kotlin
    • Support for Kotlin 1.7.20 features - Added full support for the features introduced in Kotlin 1.7.20, including the new ..< operator and data object declarations.
    • Improved IDE performance for Kotlin - Optimized cache and index usage, making code analysis faster and more stable. The code completion algorithm in .gradle.kts files has also been improved.
  • Scala
    • Better Scala 3 support
      • The IDE now supports parameter untupling and quoted patterns.
      • Improved support for match types and type variables. There is now type inference for type variables, and they are parsed correctly for pattern-matching purposes.
      • Named arguments in the trait constructor are now correctly handled.
      • You can now use an action to quickly create a Scala 3 enum file or just an empty Scala file for top-level definitions.
      • Improved TASTy Reader, resulting in better highlighting accuracy and improved editor performance.
    • New Can be private inspection - Added a new 'Can be private' inspection which helps you to be sure that a public class, method, or field is private or protected, and it will also propose a quick-fix.
      • By actually marking members that can be private as private, you can keep interfaces separate from implementation details, making it easier to understand the code.
      • This reduces the noise during autocompletion, making the process of using it easier and faster, with less cognitive load incurred. It also improves the performance of the compiler and of the IDE.
    • Parameter types and context bounds - Parameter info is now displayed for type parameters (previously it was only displayed for value parameters), and it is now smarter. Previously, in the Parameter Info popup, the context bounds were desugared, showing implicit parameters. Now the code in the prompt is resugared and more readable.
    • Create parameter from usage - Added a new quick-fix that lets you add an unresolved symbol to the list of the method's parameters.
  • Profiler
    • UI improvements for the Flame graph - Added new functionality that groups sequences of calls that take the vast majority of their parent time and standard library method implementations (such as java.util) and shows them as collapsed lists on the Flame graph. The popup has also been made more responsive and a scale has been added to it to help you stay focused on the call’s duration relative to the total execution time of the recorded snapshot.
    • New Collect native calls checkbox - Reworked the way native calls appear in snapshots. To reduce the number of calls and make it easier to investigate the most common performance issues, native calls are not collected and are excluded from the snapshot by default.
  • Version control systems
    • Redesigned Review list for GitHub and Space - Reworked the Review list UI to help reduce cognitive load and provide the most important information about requests at a glance. The look and feel across all supported review platforms has also been unified.
  • Build tools
    • Improvements for working with build.gradle files in Groovy projects:
      • Added code completion and navigation for Gradle version catalogs in Groovy build scripts.
      • Fine-tuned code highlighting in build.gradle files for Groovy.
      • Added several new inspections.
      • The IDE now highlights deprecated configuration methods and suggests relevant replacement options. It also detects incorrect usages of the plugins DSL in build scripts and provides a set of new inspections that encourage the use of task configuration avoidance APIs, as recommended by Gradle.
    • Maven import using the new IntelliJ IDEA Workspace Model API - Added experimental Maven import functionality using the new IntelliJ Workspace Model API. This change promises up to a 10% speed increase when importing Maven projects. The option is now enabled by default. Please note that not all functionality is available at this stage, meaning some manual module settings won’t be preserved upon reimport.
    • Maven2 Support plugin - Starting from this release, support for Maven2 has been unbundled. It is now available through a separate plugin that you can find and install via Settings/Preferences | Plugins or download from Marketplace.
  • Run / Debug
    • Enhanced Data Flow Analysis assistance in the Java debugger - Improved the Data Flow Analysis (DFA) functionality in the Java debugger. When the analyzer can predict that a particular branch of the code won’t be executed, it will now gray out that part of the code.
    • New option to exclude coverage annotations - Added an option to control which annotations in your project should be excluded from coverage statistics.
  • Frameworks and technologies
    • Jakarta EE 10 support - Added full support for Jakarta EE 10.
    • Support for Hibernate 6.1 features - Improved code insight functionality for the JPQL language and added support for the latest Hibernate 6.1 APIs, including set operations (union, intersect, and except), filter operations, subquery selects, and set aggregations.
    • Code insight improvements for Liquibase - Extended the code insight functionality for working with Liquibase tools. You can now easily create new Liquibase changeset files by invoking File | New | Liquibase Changelog on a db/changelog/ directory. Also, highlighting, code completion, and validation for Liquibase YAML files is now provided and all the available code completion options are now suggested in liquibase.properties files.
    • Improved navigation and inspections for dependency injection in Micronaut:
      • Added a new inspection that checks bean injection points and reports missing or ambiguous dependencies.
      • Improved navigation to injected dependencies and inspections with bean qualifiers (such as @Named, @Primary, and others).
      • You can also now navigate to an injected bean using a gutter icon.
    • Micronaut Data: Improved MongoDB support - JSON fragments are now injected into Micronaut MongoDB query annotations. Code highlighting for operators and parameters is also provided, as well as code completion for fields and operators. The navigation gutter icons are now shown for Micronaut mapped entity classes and their fields, allowing you to easily open the Database tool window for the mapped collection.
    • OpenAPI schema generation for Ktor projects - Added the ability to generate OpenAPI documentation for Ktor projects.
    • Editing improvements for YAML:
      • Added a new quick-fix to suppress inspections with a comment in YAML files, including Kubernetes files, OpenAPI specifications, and docker-compose.yml files.
      • Added a convenient option to fold multiline comments that make up a block of 3 or more lines and start with #.
    • HTTP Client improvements - The HTTP Client now supports script blocks executed before requests. You can generate some data before request execution and put it in the final request using variables. IntelliJ IDEA now also provides the сrypto API, making your code capable of computing the md5 or sha1 hash values for a HTTP request. For simple cases, the IDE now features a new set of random variables. In addition, support for gRPC metadata has been added in the HTTP Client, so you can pass metadata as request headers.
    • Code style improvements for the HTTP Client - The HTTP Client now provides better formatting options for requests with long URLs. You can also use the Put query parameters on separate lines intention action to break the query into smaller fragments over different lines.
  • Docker
    • Docker executable from WSL without Docker Desktop - Added support for connections to Docker that run in Microsoft Windows Subsystem for Linux (WSL).
    • Pull Docker image intention action - Added an easy way to pull a required image without running it from a Dockerfile, docker-compose.yml, or even from tests that use Testcontainers.
    • Support for the .dockerignore file type - Added full support for .dockerignore files, including code highlighting and completion. These files are now taken into account when you build an image from the IDE.
    • Support for the heredoc format in Dockerfiles - Here documents allow you to redirect subsequent Dockerfile lines to the input of RUN or COPY commands. IntelliJ IDEA now supports this syntax, so you can use it to generate config files or multiline scripts right in your Dockerfiles.
    • Docker connections from Docker Contexts - Added the ability to set up additional Docker connections using Docker Contexts.
    • Deprecated Docker Machine removed from the list of supported connections - Since Docker Machine has been deprecated by Docker, it has been removed from the list of connections in Settings/Preferences | Build, Execution, Deployment | Docker. If you’re an active Docker Machine user, you can still connect to it with an API URL. You can either get a list of Docker machines and enter the corresponding URL there, or enter the path to the certs folder.
  • Remote development and collaboration
    • Actions unavailable to Code With Me session guests are clearly marked - If a certain action has been disabled for guests, it now appears as grayed out and a more detailed explanation is provided if space permits. This reduces the risk of confusion and makes collaboration more straightforward.
    • Beta support for Linux ARM64 as a backend in remote development - You can now host IntelliJ IDEA projects on ARM64 machines and work with them remotely from any laptop. All the processing will be done on the ARM64 machine while you work with a lightweight client.
    • Overview of forwarded ports - Reworked the port forwarding interface to make it more useful. It now features a full overview of the open ports along with their statuses, as well as the option to add or remove ports.
    • Reworked overview of recent SSH projects - The mechanism for reporting the statuses of host machines has been completely reworked. You can now clearly see which machines are running, unreachable, and so on, and all the checks are done in the background, which improves performance.
  • QA tools
    • Use the web inspector outside the IDE - The Aqua plugin provides advanced support for UI automation. In this release, it introduces an update to Web Inspector that lets you use it in two modes: either inside the IDE or in a separate window if you want more space.
    • Locator verification - The Aqua plugin provides a new Web Inspector feature - the locator evaluator. For any locator you provide, the locator evaluator will highlight all of the elements it points to on the web page and tell you how many matches there are. You will also be offered alternative locator options.
    • Code completion for locators from web page - If you have Web Inspector open, autocompletion will suggest options for possible locators, highlighting them in an embedded browser.
    • Seamless navigation to elements on a web page - You can now use the familiar Ctrl+Click shortcut or a context menu action to navigate between elements on a web page.
  • Database tools
    • Quick filter in Database Explorer - Added the ability to filter objects when using quick search in the Database Explorer. All non-matching objects will be hidden.
    • Formats for date and time data types in the data editor - Added the ability to customize how fields of the Datetime/timestamp, Time, and Date types will be displayed in the data editor.
    • Pattern-based schema filtering - Added the ability to choose databases or schemas for introspection based on regular expression patterns.
  • Web development
    • New project templates for Next.js and Vite - The New Project wizard available on IntelliJ IDEA’s Welcome screen now includes project templates for Vite and Next.js. The Vue template has also been updated so it follows the latest standards.
    • Vue updates:
      • IntelliJ IDEA can now take care of unresolved imports and will offer suggestions for importing Vue components.
      • Added support for the props destructure syntax.
      • Improved the behavior of code completion and type checking for Vue library component props.
    • Vitest support - Added support for Vitest, a Vite-native unit test framework.
    • Type narrowing in Angular templates - Added support for type narrowing in Angular templates, which will provide more precise type information and better code completion suggestions. Additionally, IntelliJ IDEA now excludes the .angular cache folder from global searches to help provide better search results.
  • Educational capabilities
    • Programming courses right in your IDE - It’s now possible to learn Java, Kotlin, Scala, Python, Go, and other programming languages or improve your existing skills right in your IDE. The new feature also comes with the ability to create your own educational courses. Note that for languages other than Java and Kotlin, you’ll need to install an additional plugin.
  • Other
    • Added the ability to run IntelliJ IDEA on Microsoft Windows and Linux machines with ARM64 processors. The IDE installers are in Beta, and they are available from the website or the JetBrains Toolbox App for Windows, and only from the website for Linux.
    • The Android plugin bundled with IntelliJ IDEA now provides all the features of Android Studio Electric Eel Beta 2, including support for Android Gradle Plugin (AGP), version 7.4.0-beta02.
Settings Sync

IntelliJ IDEA

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

Sie haben eine Frage?

Live-Chat mit unseren JetBrains-Lizenzierungs-Spezialisten.