IntelliJ IDEA 2023.2. The long-awaited LSP, built-in AI chat, upgrade to Windows 10 and -Xmx2G

IntelliJ IDEA 2023.2 has just been released. A lot of interesting features and important improvements have been added.

The idea ballooned to 2 gigabytes of space, support for LSP servers appeared, and now you need to upgrade from Windows 7 to at least Windows 10.

From the little things: there was a chat with neuron “AI Assistant”. The profiler has learned to display tooltips directly in the editor, and integration with GitLab allows for less switching between the browser and IDE.

Want to know more?

Key changes

  1. AI Assistant has appeared, which adds a chat with a neuron under the hood, allowing you to do simple things like writing documentation in comments, suggesting good names, generating commit names, and so on. He doesn’t do anything super intelligent. Access to AI capabilities is currently limited: it requires installing a plugin and logging into the JetBrains AI service. Additional information is available link.

  2. The profiler displays hints directly in the editor. You can interpret the information using color annotations in the gutter.

  3. Integration with GitLab allows you to create merge requests directly from the IDE. Details.

User experience

  1. Search Everywhere (Double ⇧ / Double Shift) Now it’s better to search by text.

  2. You can assign unique colors to project titles and upload your own icons for them. If there are a lot of projects in the workspace, it is much easier to find them. And also, it’s beautiful.

  3. The hamburger menu in the new UI toolbar on Windows and Linux has been redesigned. When you click on the icon, the elements are displayed horizontally, overlapping the toolbar. There is an option to turn this menu into a separate toolbar.

  4. In the view Project You can now sort files by modification time.

  5. New UI users received an alternative theme Light with Light Header. This is a light theme in which the colors for window titles, tooltips and notification pop-ups are synchronized.

  6. In the new UI full-screen mode on macOS, the window control buttons appear to the right of the main menu, rather than in an overlapping panel as before.

  7. In the settings section Settings/Preferences | Editor | Inspections Implemented highlighting of code examples.

  8. For the convenience of Linux users, the native header (which the operating system draws) has been removed from the new UI, making the interface cleaner and neater.

  9. In the view Projectthere is a new option Open Directories with Single Clickwhich makes expanding and collapsing directories faster and more responsive.

  10. The options for customizing the main panel of the new UI have been expanded. A drop-down has appeared in which you can quickly select elements that will appear on the toolbar.

  11. In the settings section Settings/Preferences | Plugins a set of recommended plugins has appeared, which is automatically generated based on the specifics of the open project.

  12. The interface for launching and debugging in the view has been redesigned Servicesnow it looks more like a widget Run/Debug.

  13. In the widget Run Now you can pin your most favorite configurations. This is useful when you have a lot of configurations and require “bookmark” functionality.

Java

  1. The number of inspections has been expanded in order to write higher quality and correct code. Read more about improvements in code analysis separate post.

  2. There is now highlighting and navigation through formatting lines.

  3. Improved tag support @snippet in Javadoc comments.

  4. New ways have been discovered to apply refactorings to multiple elements at once.

  5. Improved recognition of method position in the stacktrace report, even if line numbers are not available or differ from the original.

  6. Better recognition of SQL concatenations and interpolation in Java and Kotlin, making it easier to catch SQL injections.

Scala

  1. Improved Scala 3 support: normal enum support, improved TASTy decompiler, more decent debugging. Additional goodies: a more informative addition for Universal Apply Methods, support for IArray in the editor, and more correct work with the “fewer braces” syntax.

  2. Projects on sbt began to work a little better.

  3. Fixed several problems with type inference.

  4. Zinc has become the default compiler. This made it possible to fully support incremental compilation of the latest Scala 3 features, including inline methods.

  5. The interface for managing the source and target directories has been improved.

  6. Improved display of ScalaDoc quick documentation. Includes highlighting of annotations, keywords and literals using the currently selected skin. Implemented division of the list of traits and classes into several lines. Support for keywords from Scala 3 is now available.

Performance

  1. There is a new command line utility for quick assembly and filling shared indexes. This is done in just a few clicks, instead of writing a bunch of scripts and services. Details.

Run/Debug

  1. When debugging reactive applications, you can now quickly calculate the values ​​of watches and local variables for types Mono And Flux.

  2. Autotesting has become less crude, and now you can use it together with Maven/Gradle/JPS.

Version control

  1. Now you can commit only the lines you need. You don’t have to commit entire pieces of code.

Profiling

  1. Attach IntelliJ Profiler And Capture Memory Snapshot are now launched by separate buttons in the window Run.

  2. By default, now used Wall-clock profiling mode (the total time spent inside the method is taken into account, including waiting time).

Frameworks and technologies

  1. You can run and debug applications in Tomcat running through Windows Subsystem for Linux (WSL).

  2. You can send gRPC requests over TLS using the HTTP Client.

  3. The HTTP Client now has the ability to parse the Swagger and OpenAPI specifications and show the corresponding addition to the body of the JSON request.

  4. To dialog box Edit Swagger Codegen Configuration customizations have been added, and launch configurations are now available from the gutter without additional settings.

  5. A preview has appeared Redoc UI for OpenAPI and Swagger specifications, including YAML and JSON. You can switch between Redoc and Swagger UI right inside the IDE.

  6. Autocompletion of JSON file keys for JavaScript has appeared.

  7. Now you can separate frequently used JavaScript code for HTTP Client handlers into separate modules and import them.

  8. PDF and HTML previews are displayed next to the results of HTTP Client requests.

  9. HTTP Client CLI allows you to interact with the GraphQL API and connect to services via WebSocket.

  10. When setting up the Spring Boot configuration, the field VM options started displaying autocompletion for keys that can be listed using the flag -D.

  11. Autocompletion and property validation in Spring YAML configurations are available immediately, without configuring the annotation processor.

  12. Spring AOP support for Kotlin has appeared.

  13. Working with the AsyncAPI specification format has become easier: schema validation and reference completion have appeared. A view has appeared Endpoints and panel Editor Preview.

  14. To combat Norwegian problem a special inspection has appeared that highlights the possibility of incorrect interpretation of Boolean values ​​in YAML.

Docker

  1. You can view files inside layers.

  2. You can use one Docker configuration before another by adding it to the list Before Launch.

Kubernetes

  1. Several kubeconfig files coexist within one project. Managing multiple clusters or multiple environments across different clusters has become much easier.

  2. In the window Services Now you can view deployment logs.

Assembly

  1. Full support for the latest version Maven 4.0.0-alpha.

Web development

  1. Improved error formatting in JS/TS.

  2. Support CSS nesting.

  3. Vue Language Server (Volar) provides better error detection and type information. This is used for precise quick jumps and in the quick documentation window.

  4. There are several new live templates for React hooks.

Code quality

  1. Static analysis can now be done via JetBrains Qodana – a popular and original static analyzer, according to legend, suitable for any popular methods of building CI/CD. Details.

Database

  1. When working with a Redis cluster, all the same settings and features became available as when working with a single node.

  2. The schema migration interface has been redesigned.

  3. In the settings window Data Editor and Viewer a field appeared Time zone. This time zone is used when displaying datetime.

  4. Added support for external bases and balls in Redshift.

Miscellaneous

  1. There is now support for the LSP API, which is needed by developers of plugins that receive language information from LSP servers. Details.

  2. Plugin Big Data Tools cut into several microplugins that can be used separately. This is how new entities arose: Kafka, Spark, Flink, Remote File Systems, Big Data File Viewer And Zeppelin.

  3. Plugins for Struts2, Resin, tc Server, Play and Cloud Foundry have been deprecated and will no longer be updated.

  4. The built-in Android plugin learned features from Android Studio Giraffe Beta 2, including support for Android Gradle Plugin (AGP) 8.0.0. Features that require login to a Firebase account are not supported.

  5. Maximum hip size (-Xmx) increased to 2Gb.

  6. Windows 7 has been declared obsolete. To continue using the Idea, you need to upgrade to Windows 10 or higher.

These were all the most important changes. The full list of changes is in release notes (but you almost definitely don’t want to look at it).

Your feedback is extremely important to Javawatch Digests.
If you have something to share, write to Oleg immediately.

If you downvote this article and are going to write nasty things in the comments, do not forget to indicate as the reason personal hatred towards the author or company, it is very nice. As a last resort, you should select the option more advertising than benefit.

Subscribe to my two Telegram channels:
Javawatch. Java announcements: news, meetups.
Revelations from Oleg. Personal channel + chat almost without censorship, where you can discuss the contents of the digest in the strongest terms.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *