IntelliJ IDEA 2023.2 latest changes

major update

AI Assistant

AI Assistant

limited access

Ultimate

In this release, we have introduced an important addition to IntelliJ IDEA – the AI ​​Assistant. AI Assistant currently has an initial set of AI-powered features, offering an integrated AI chat that can do things like automatically write documentation comments, suggest names, generate commit messages, and more.

JetBrains AI service provides technical support for AI Assistant. This service can currently be connected to OpenAI, and other language model providers will be included in the future. To access the Assistant's AI features, you need to install the AI ​​Assistant plugin and log in to the JetBrains AI service with your JetBrains Account. The initial availability of JetBrains AI Services may be limited. For more information on AI Assistant and access instructions, check out this blog post .

AI Assistant

In-editor performance tips

Ultimate

In IntelliJ IDEA 2023.2, we've enhanced the IntelliJ Profiler to provide even more valuable and easy-to-understand insights into application performance. New in-editor hints provide quick line-by-line analysis of code performance, helping you identify and resolve issues faster. Color-coded annotations in the editor's staple area highlight critical methods, allowing you to focus on performance bottlenecks. Therefore, you no longer need to perform thorough, time-consuming analysis using  the Flame Graph and  Call Tree views. Learn more in this blog post .

GitLab integration

GitLab integration

IntelliJ IDEA 2023.2 introduces integration with GitLab to help simplify your development workflow. You can now use the Merge Request functionality directly in the IDE  : view the list of requests, review changes, leave comments, and navigate to related views. Learn more .

user experience

Text Search in Search Everywhere

Text Search in Search Everywhere

Search Everywhere (press Shift twice) is mainly used to search files, classes, methods, operations and settings. After this update, it will include  a text search function similar to Find in Files . Text search results are now displayed when there are few or no other search results for a given query. This feature is enabled by default and can  be managed in Settings/Preferences | Advanced Settings | Search Everywhere .

Colored item titles in the new UI

Colored item titles in the new UI

IntelliJ IDEA 2023.2 introduces colored headers that simplify navigation between multiple open projects. You can now assign each item a unique color and icon, making it easier to distinguish within your workspace. Headers now come with predefined colors by default, but you can also customize them. To set a new color for an item, first right-click on the header and access the context menu. Then, select  the Change Project Color option and select the desired color from the suggested list, or browse the color palette. If you want to disable this feature, simply deselect the Show Project Gradient option in the context menu  .

Reworked the hamburger menu in the main toolbar on Windows and Linux

Reworked the hamburger menu in the main toolbar on Windows and Linux

Reworked the hamburger menu in the main toolbar on Windows and Linux

Reworked the hamburger menu in the main toolbar on Windows and Linux

PreviousNext

Reworked the hamburger menu in the main toolbar on Windows and Linux

We've improved the behavior of the main toolbar hamburger menu in the new UI on Windows and Linux. Elements are now displayed horizontally above the toolbar after clicking the menu icon. Additionally, there is now an option to convert this menu into a separate toolbar at  View | Appearance | Main menu as a Separate Toolbar (View | Appearance | Main menu as a Separate Toolbar).

Sort files by modification time in the Project view

Sort files by modification time in the Project  view

IntelliJ IDEA 2023.2 adds the much-anticipated feature that lets you  arrange files in the Project view based on modification time. This new feature automatically rearranges files whenever changes are saved in the project. To enable this feature, first open  the three-dot menu in the Project view, then select  Tree Appearance | Sort by Modification Time.

Light theme with light titles in the new UI

Light theme with light titles in the new UI

In v2023.2, we improved the light theme user experience by introducing an alternative  Light with Light Header option that provides matching for window titles, tooltips, and notification balloons light color.

Updated window controls on macOS

Updated window controls on macOS

When using the new UI in full screen mode on macOS, window controls will now appear on the main toolbar instead of floating bars as before.

Removed the title bar on Linux in the new UI

Removed the title bar on Linux in the new UI

For the convenience of Linux users, the native title of the operating system has been removed in the new UI to make the interface more tidy. By default, the IDE's Customization header is displayed, which provides a range of workspace customization options. If you wish to revert the title to its previous appearance, deselect  Merge main  menu with window title in  Settings | Appearance & Behavior | Appearance | UI Options header merge) option.

Check syntax highlighting in description

Check syntax highlighting in description

In  Settings / Preferences | Editor | Inspections , code samples will now include syntax highlighting, making it easier to understand what triggered the inspection and decide whether to make it active or not. Disabled state.

Click to navigate between project directories

Click to navigate between project directories

In  the Project (project) view, a new  Open Directories with Single Click (click to open the directory) option, can expand and collapse the project folder faster, faster response. After clicking the vertical three-dot menu, you can choose this option from the drop-down menu.

Improved main toolbar customization

Improved main toolbar customization

We've expanded the customization options for the main toolbar of the new UI. You can now use the drop-down menu to quickly select actions to add to your toolbar. Right-click on any widget, select  Add to Main Toolbar , and browse the available options.

Recommended plugins in Settings/Preferences

Recommended plugins in Settings/ Preferences

To make it easier to configure the IDE for a specific project and extend its functionality with plugins, we've updated the  UI in the Settings/Preferences | Plugins section. It now includes a set of recommended plugins, automatically defined based on your project specifics, and displayed at the top of the list.

Updated the UI of the Run/Debug widget in the Services tool window

Updated  the UI of the Run/Debug widget in the Services tool  window

We've reworked  the UI for run and debug actions in the Services tool window so that the toolbar looks the same as the main  Run/ Debug widget.

Pin the run configuration in the Run widget

Pin the run configuration in  the Run widget

To simplify the management of multiple run configurations, we  implemented an option to pin the preferred configuration in the Run widget . To add a run configuration to  the Pinned section, first open the three-dot menu next to its name, then select  Pin . If there are multiple pinned configurations, they can be easily arranged by dragging and dropping them in the list.

Java

New inspections and other code analysis improvements

New inspections and other code analysis improvements

New inspections and other code analysis improvements

New inspections and other code analysis improvements

New inspections and other code analysis improvements

New inspections and other code analysis improvements

New inspections and other code analysis improvements

New inspections and other code analysis improvements

PreviousNext

New inspections and other code analysis improvements

We've improved and extended Java inspections to help you maintain high-quality code and detect potential issues more effectively. The new Incorrect 'MessageFormat' pattern check warns  when pattern references do not match actual arguments  , and it also detects MessageFormat incorrect usage of quotes and curly braces in patterns. Additionally, the IDE will now report calls with explicit  ChronoField or  ChronoUnit actual parameters and suggest their replacement with calls to more specific methods, simplifying your code. Learn more about new inspections and other code analysis improvements in IntelliJ IDEA 2023.2 in this blog post .

Code highlighting and navigation for format strings

Code highlighting and navigation for format strings

Now, when you place the text cursor on a format specifier, the IDE will highlight the corresponding argument and other specifiers pointing to it. Additionally, you can now use  Go To Declaration (Ctrl+B) to jump to the associated code location for a specific format string placeholder.

Improved support for @snippet tags in Javadoc comments

Improved support for @snippet tags in Javadoc comments

Improved support for @snippet tags in Javadoc comments

Improved support for @snippet tags in Javadoc comments

Improved support for @snippet tags in Javadoc comments

PreviousNext

Improved  @snippet support for tags in Javadoc comments

@snippet IntelliJ IDEA has improved tagging in Javadoc comments  . It allows  @snippet markup comments to be added inside markup and renders correctly in the document. Code regions are supported, allowing you to specify sections of code to be referenced in Javadoc comments. Additionally, the IDE now supports  @snippet including external code snippets within tags, which will allow you to reference code snippets stored in separate files or sources and include them in your Javadoc documentation.

Expanded refactoring options for multiple selected members

Expanded refactoring options for multiple selected members

Expanded refactoring options for multiple selected members

Expanded refactoring options for multiple selected members

PreviousNext

Expanded refactoring options for multiple selected members

We've added new ways to apply certain refactorings to multiple members at the same time. You can now select multiple members directly in  the Project or  Structure tool window and call  Extract Delegate , Extract Interface , Extract Superclass , Pull Members Up (pull members up) and  Push Members Down (push members down). Additionally, IntelliJ IDEA now supports an extended range of refactorings with multiple text cursor selections, including  Encapsulate Fields , Move Static Members , Extract Delegate , Extract Interface , and  Extract Superclass (extract superclass). To take advantage of this feature, place the text cursor on each member you wish to apply the refactoring to, and the IDE will automatically preselect and check those members in the refactoring dialog.

Improved navigation for stack trace analysis

Improved navigation for stack trace analysis

To improve stack trace analysis and resolve bugs faster, IntelliJ IDEA can now accurately guess where a method is in a report, even if line numbers are not available or have deviated.

Enhanced taint analysis for dynamic SQL queries

Enhanced taint analysis for dynamic SQL queries

Ultimate

IntelliJ IDEA now better analyzes SQL concatenation and interpolation in Java and Kotlin, detecting potentially unsafe queries and keeping code safe from possible SQL injection vulnerabilities.

Scala

Better Scala 3 support

Better Scala 3 support

Better Scala 3 support

Better Scala 3 support

PreviousNext

Better Scala 3 support

IntelliJ IDEA 2023.2 focuses on simplifying the development experience with enhanced Scala 3 support. Notable improvements include fixes to Scala 3 enum highlighting, enum definition navigation, and correct resolution of enum cases in various contexts. The TASTy decompiler has been significantly enhanced to ensure accurate decompilation of popular Scala libraries such as Akka, Cats, Play, ZIO, and more. Also, the integration in the debugger  scala-expression-compiler will provide a better debugging experience for Scala developers. Other improvements include enhanced completion hints for Scala 3 generic apply methods, in-editor support for IArray, and improved support for "fewer braces" syntax.

better sbt support

better sbt support

This release brings many improvements to IntelliJ IDEA's sbt support. Environment variables set for sbt are preserved and processed correctly after reopening the project. The redesigned settings page  File | Settings | Build, Execution, Deployment | Build Tools | sbt (File | Settings | Build, Execution, Deployment | Build Tools | sbt) is easier to use and adds  Environment variables (environment variables) field, so you can pass custom environment variables to the sbt-shell process.

ScalaDoc renders

ScalaDoc renders

With this release, ScalaDoc's quick documentation is more aligned with Javadoc's. Notes, keywords, and text in the displayed statement will now be highlighted according to the selected theme. The list of extended features and classes will be split across multiple lines if the available space is exceeded. Additionally, Scala 3 keywords are now supported in the documentation.

Fixed type inference errors

Fixed type inference errors

The new version has a number of fixes for invalid type inference in some complex or rare cases, such as cases where types have complex bounds, sealed trait hierarchies may be unclear, or in complex pattern matching.

Zinc as default compiler

Given Zinc's recent performance improvements, we made it the default incremental compiler in v2023.2. This ensures  inline full support for incremental compilation of new Scala 3 features, including methods.

Improved management of source and target directories

Subfolders of the target folder are no longer automatically included as sources unless they are marked as managed. This will speed up searches in projects that generate source code. In addition, the IDE  sbt-projectmatrix provides better support for .

Performance Analyzer

Using Analysis Features from the Run Tool Window

Using Analysis Features from  the Run Tool Window

Ultimate

In IntelliJ IDEA 2023.2, you can easily access the features of the IntelliJ profiler directly from  the Run tool window. With new buttons, the Attach IntelliJ Profiler and  Capture Memory Snapshot actions can be invoked with one click  without opening  the Profiler tool window or starting the application from scratch.

Default wall clock analysis mode

Default wall clock analysis mode

Ultimate

We've enhanced the profiling experience in IntelliJ IDEA 2023.2 by making wall clock profiling mode the default option. This profiling method takes into account the total time spent in the method, including wait time. It is measured in milliseconds and is the more powerful and intuitive option.

run/debug

Reactor Mono and Flux value calculation

Reactor Mono and Flux value calculation

Reactor Mono and Flux value calculation

Reactor Mono and Flux value calculation

PreviousNext

Reactor  Mono sum  Flux value evaluation

Ultimate

When debugging a reactive application, you can now easily evaluate  Mono and  Flux type watch and local variable values. The IDE now detects during a debug session and  provides a corresponding   or  link in the Variables view  to instantly evaluate Reactive Streams entries when clicked. By default, the debugger gets   the first 100 entries. You can  configure this amount in File | Settings | Languages ​​& Frameworks | Reactive Streams (File | Settings | Languages ​​& Frameworks | Reactive Streams).getcollectListFlux

Continuous testing for Gradle, Maven and JPS projects

Continuous testing for Gradle, Maven and JPS projects

We've extended the automated testing functionality to be fully compatible with Maven, Gradle and JPS build systems. We've also made continuous testing mode easier to activate. To enable this mode, use  the new Rerun Automatically button in the  Run/ Debug tool window . Tests run automatically whenever changes are saved, providing instant feedback on code updates.

Upgraded Scala checks

Inline breakpoint on return statement

IntelliJ IDEA provides improved support for setting breakpoints directly at return statements, similar to how setting is already implemented in lambda expressions. This improvement will provide developers with higher debugging precision and deeper code analysis, bringing more valuable insights into code behavior and return values. To set an inline breakpoint, simply right-click on the binding area next to the statement and select  the return  option.

version control system

Option to commit specific lines of code

Option to commit specific lines of code

IntelliJ IDEA 2023.2 introduces a highly anticipated feature to selectively commit specific parts of code blocks. To perform a partial commit, select the lines in the block and call  Include these lines into commit from the context menu . The blocks will be divided into individual rows and the selected row will be highlighted. You can add or exclude rows from a selection using check boxes or the context menu.

performance

New Tool to Easily Generate Shared Indexes

New Tool to Easily Generate Shared Indexes

New Tool to Easily Generate Shared Indexes

New Tool to Easily Generate Shared Indexes

PreviousNext

New Tool to Easily Generate Shared Indexes

IntelliJ IDEA 2023.2 offers new command-line tools for quickly building and uploading shared indexes. It's designed to simplify teamwork and eliminate time spent indexing large projects locally. The new tool will simplify the process of building a shared index for teams with just a few clicks and no need for multiple scripts and services. Learn more .

Framework and Technology

Run and debug Tomcat on WSL

Run and debug Tomcat on WSL

Run and debug Tomcat on WSL

Run and debug Tomcat on WSL

PreviousNext

Run and debug Tomcat on WSL

Ultimate

Starting with IntelliJ IDEA 2023.2, you can run and debug applications deployed to Tomcat on the Windows Subsystem for Linux (WSL). To use Tomcat-based applications on WSL, you need to   declare   environment variables in the /etc/environment or  file.~/.bashrcJAVA_HOME

Send gRPC requests using TLS in the HTTP client

Send gRPC requests using TLS in the HTTP client

Ultimate

You can now send gRPC requests over Transport Layer Security (TLS) in the HTTP client. TLS provides encryption and authentication to ensure the confidentiality and integrity of data transmissions. Request syntax support  https:// and  grpcs:// schema.

Improvements for Swagger Codegen

Improvements for Swagger Codegen

Improvements for Swagger Codegen

Improvements for Swagger Codegen

PreviousNext

Improvements for Swagger Codegen

Ultimate

The IDE will now provide a better user experience when setting up Swagger Codegen configuration. We've reworked  the Edit Swagger Codegen Configuration dialog to make it easier to customize the run configuration to your needs. Additionally, you can now also access Swagger Codegen run configurations directly from the stapling area, without specifying additional settings.

Support for Swagger and OpenAPI schemas in the HTTP client

Support for Swagger and OpenAPI schemas in the HTTP client

Support for Swagger and OpenAPI schemas in the HTTP client

Support for Swagger and OpenAPI schemas in the HTTP client

PreviousNext

Support for Swagger and OpenAPI schemas in the HTTP client

Ultimate

HTTP clients now understand Swagger and OpenAPI specifications and provide corresponding code completion options for JSON request bodies.

Redoc UI preview for OpenAPI and Swagger files

Redoc UI preview for OpenAPI and Swagger files

Ultimate

IntelliJ IDEA now supports Redoc UI preview for OpenAPI and Swagger specification files (including YAML and JSON files)   , allowing you to switch between Redoc and Swagger UI within the IDE. With the Redocly integration, you can access the Try it  console from within IntelliJ IDEA  , use it to set parameters and send requests to the API.

JSON body completion in JavaScript

JSON body completion in JavaScript

Ultimate

The IDE now provides completion for JSON object keys in JavaScript code, such as  fetch() code that uses calls or references to the Axios library. Spring MVC server endpoints are now supported, and more server frameworks will be added to the list in the future.

Support for JavaScript imports in the HTTP client

Support for JavaScript imports in the HTTP client

Ultimate

In IntelliJ IDEA 2023.2, common JavaScript code for HTTP client request handlers can now be shared through imported modules.

PDF and HTML previews of responses in HTTP clients

PDF and HTML previews of responses in HTTP clients

Ultimate

IntelliJ IDEA is now able to show previews of PDF and HTML files in HTTP client request results.

Support for GraphQL and WebSocket in the HTTP client CLI

Support for GraphQL and WebSocket in the HTTP client CLI

Support for GraphQL and WebSocket in the HTTP client CLI

Support for GraphQL and WebSocket in the HTTP client CLI

PreviousNext

Support for GraphQL and WebSocket in the HTTP client CLI

Ultimate

You can now use the HTTP client CLI in IntelliJ IDEA   to interact with GraphQL APIs and establish WebSocket connections to services for testing or automation scripts.

Autocompletion of Spring Boot configuration keys in virtual machine options

Autocompletion of Spring Boot configuration keys in VM options

Ultimate

When setting up a new Spring Boot run configuration, the VM options field  -D provides autocompletion options for keys that appear after the flag.

Spring configuration beans no longer require annotation processors

Spring configuration beans no longer require annotation processors

Ultimate

We've simplified the user experience when using Spring's custom configuration beans in IntelliJ IDEA. The IDE now provides code completion and validation in properties and YAML configuration files without setting up a Spring Boot configuration annotation processor.

Support for Spring AOP in Kotlin

Support for Spring AOP in Kotlin

Ultimate

We've extended IntelliJ IDEA's support for using AspectJ in Spring applications. The IDE now provides analysis and completion for Kotlin code, which was previously available for Java code.

"Norway problem" check in YAML file

New checks for detecting mismatched value types in YAML files

Ultimate

In IntelliJ IDEA 2023.2, we introduced a new inspection aimed at eliminating  the Norway Problem  and preventing accidental misinterpretation of boolean values ​​in YAML files. When a list consists mostly of strings but contains Boolean literals, IntelliJ IDEA will highlight this literal, indicate a potential inconsistency, and suggest adding quotes to it. If the list consists primarily of Boolean literals (eg  true, , false, off,  or  ), any literals that deviate from this pattern will be highlighted as possible errors, though no specific quick-fixes will be suggested in this case on.yesno

Support for editing AsyncAPI files

Support for editing AsyncAPI files

Ultimate

Using the AsyncAPI specification format in IntelliJ IDEA is now even easier. The IDE supports schema validation and provides code completion for references, the Endpoints view, and  the Editor Preview pane.

Docker

Preview files inside Docker image layers

Preview files inside Docker image layers

The contents of Docker image layers can now be easily accessed and previewed in  the Services tool window. Select the image from the list, select  Show layers , and click  Analyze image for more information . This will open a list of files stored in the layer, and you can right click on the file and click  Open File (or  Download File for binary files) to easily open the selected file in the editor.

Set the Docker container to run as a Before Launch task of the run configuration

Set the Docker container to run as a  Before Launch task of the run configuration

A Docker run configuration can now be specified as  a Before Launch task to run before another configuration. The IDE will wait for the currently running container to recover before starting the next run configuration. To queue a Docker run configuration, first create the configuration, then  add it to the relevant container via Modify options | Add before launch task | Run configuration.

Kubernetes

Support for multiple kubeconfig files in a single project

Support for multiple kubeconfig files in a single project

Ultimate

This newly introduced feature allows you to setup multiple kubeconfig files in a single project. This simplifies the experience of working with multiple clusters or using environments on different clusters within the same project. Go to  File | Settings | Build, Execution, Deployment | Kubernetes (File | Settings | Build, Execution, Deployment | Kubernetes) to set up the file.

View deployment logs

View deployment logs

Ultimate

You can now  view the deployment logs in your Kubernetes cluster in the Services tool window. Right-click on the Deployment in the tree  and select  Follow Log or  Download Log from the context menu .

web development

Improved error formatting for JavaScript and TypeScript

Improved error formatting for JavaScript and TypeScript

Ultimate

In IntelliJ IDEA 2023.2 we focus on how to improve the way type errors in JavaScript and TypeScript are represented. Now your errors and warnings are formatted in a more readable way, making problems in your code easier to spot. This applies to all TypeScript and some of the most common JavaScript errors, even localized ones.

CSS nesting support

CSS nesting support

Ultimate

IntelliJ IDEA 2023.2 now supports  CSS nesting . We've implemented syntax support and a new check to warn when nested selectors start with an identifier or function symbol.

Vue language server support

Vue language server support

Ultimate

Vue Language Server (VLS, aka Volar) support provides more accurate error detection and better type information in quick navigation and documentation popups. VLS will be used by default for TypeScript v5.0 and above, wrappers for TypeScript services will be used for earlier versions of TypeScript. Under  Settings | Languages ​​& Frameworks | TypeScript | Vue (Settings | Languages ​​& Frameworks | TypeScript | Vue), you can set the Vue service to use VLS integration on all TypeScript versions.

New live templates for React hooks

New live templates for React hooks

Ultimate

We  've added a new set of live templates for React hooks under Settings | Editor | Live Templates | React hooks . To use a live template, first enter an abbreviation in the editor, then press  Tab  to expand it.

Code Quality Workflow

Bundled with the Qodana code quality platform

Bundled with the Qodana code quality platform

IntelliJ IDEA 2023.2 simplifies the configuration of static analysis tools by fully integrating JetBrains Qodana , our intelligent static analysis engine designed to fit into any CI/CD pipeline  . This integration offers two important advantages. First, easy configuration lets you trigger analytics, view project-level issues, and set quality gates in your preferred CI/CD system with just a few clicks. Second, you can now view server-side analysis results directly without leaving the IDE. Learn more about Qodana and its latest release in this blog post .

database tools

Support for Redis Cluster

Redis Cluster support

Ultimate

You can now connect to Redis Cluster and have the same feature set as standalone Redis. When connecting to a cluster, it must be entered before the desired URL  jdbc:redis:cluster:. To do this, you need to select the appropriate connection type. If SSH tunneling is required to connect to the cluster, the hosts and ports of all nodes in the cluster should be indicated in the URL.

New UI for schema migration dialog

New UI for schema migration dialog

Ultimate

In v2023.2, we reworked the schema migration feature. The main difference is that the same object is now on the same line in both parts of the dialog, making it clearer which objects will be added, removed or changed in the target schema.

Time zone settings for the data editor

Time zone settings for the data editor 

Ultimate

The Data Editor and Viewer settings page has a new  Time zone field to set  datetime the time zone for displayed values.

Support for external databases and data sharing in Redshift

Support for external databases and data sharing in Redshift

Ultimate

Both shared databases and their contents are now introspected. The data sharing that creates these databases is also introspected.

build tool

Support for Maven 4.0.0-alpha

IntelliJ IDEA is now fully compatible with the latest version of Maven,  Maven 4.0.0-alpha  .

other

  • In this release, we've introduced the LSP API for plugin developers who want to provide coding assistance using a specific LSP server within the IDE. If you've created your own programming language or framework, you can create LSP servers and plug-ins for support in the IDE. Note that this feature is only available in the paid version of the IDE. Learn more .
  • We disassembled  the Big Data Tools  plugin, allowing its parts to be used independently. This gets IntelliJ IDEA six new plugins: Kafka , Spark , Flink , Remote File Systems , Big Data File Viewer  , and  Zeppelin . If you need all six plugins, you can still install the Big Data Tools plugin with one click.
  • The Android plugin bundled with IntelliJ IDEA now provides all the features of Android Studio Giraffe Beta 2, including support for Android Gradle Plugin (AGP) 8.0.0. Note that this support does not include features that require a Firebase Account login.
  • Starting in 2023.2, the default value for the maximum heap size (-Xmx) has changed to 2 GB.

Guess you like

Origin blog.csdn.net/qq_29752857/article/details/131951499