IntelliJ IDEA 2023.3 introduces Java 16 and WSL 2 support, Space integration, Code With Me, a HTML preview window inside the IDE, the option to run code on SSH hosts and in Docker containers, and other useful updates. You can watch this video overview or read on to learn about the most significant changes in more detail!
FEATURE
Deep insight into your code
IntelliJ IDEA analyzes your code, looking for connections between symbols across all project files and languages. Using this information it provides indepth coding assistance, quick navigation, clever error analysis, and, of course, refactorings.Smart completion
Ctrl+Shift+Space gives you a list of the most relevant symbols applicable in the current context. This and other completions are constantly learning from you, moving the members of the most frequently used classes and packages to the top of the suggestions list, so you can select them faster.
Chain completion
Digs a tad deeper than Smart Completion and lists applicable symbols accessible via methods or getters in the current context. Say you're looking for a value of Project and only have the Module module declaration. Press Ctrl+Shift+Space twice to get module.getProject() without any additional effort.
Static members completion
Lets you easily use static methods or constants. Offers a list of symbols matching your input and automatically adds required import statements.
Data flow analysis
When offering completion variants, IntelliJ IDEA analyses data flow to guess the possible runtime symbol type and refines choices based on that intel, automatically adding class casts.
Language injection
Brings coding assistance for a selected language to expressions and string literals in another one, complete with all advantages you would normally have. For example, you can inject fragments of SQL, XPath, HTML, CSS, or JavaScript code into Java String literals.
Cross-language refactorings
Knowing everything about usages of a symbol, IntelliJ IDEA offers extremely effective, thorough refactorings. For example, when you Rename a class within a JPA statement, it will update everything, from JPA entity class, to every JPA expression where it is used.
Detecting duplicates
Finds duplicate code fragments on the fly. Even if you're only about to extract a variable, constant, or a method, IntelliJ IDEA will let you know that there is a similar code fragment that can be replaced along with the one you're working on.
Inspections and quick-fixes
Whenever IntelliJ IDEA detects that you're about to make a mistake, a little lightbulb pops up in the editor. Clicking it or pressing Alt+Enter opens a list of actions you can take to make things right.
Developer ergonomics
Every aspect of IntelliJ IDEA is designed with ergonomics in mind. IntelliJ IDEA is built on a principle that every minute a developer spends in the flow is a good minute, and things that break developers out of that flow are bad and should be avoided.
Editor-centric environment
Most of your time the editor (and the code) is the only thing visible on your screen, and you don't need to leave it to do something that isn't coding-related.
Quick popups are helpful for checking additional information without leaving the context that you’re in. When you press Ctrl+Shift+I it shows you the definition for the symbol at caret.
To generate code, you don't have to walk through complex wizards or fill huge forms.
Shortcuts for everything
In IntelliJ IDEA you have dedicated keyboard shortcuts for nearly everything, including rapid selection and switching between tool windows and the editor.
Accessing a tool window via its shortcut moves the input focus to it, so you can use all keyboard commands in its context. When you need to go back to the editor, just hit Esc.
When you're in the Project tool window, you can not only navigate through the existing items, but also create new ones by just pressing Alt+Ins.
Ergonomic user interface
All lists, trees and popups in IntelliJ IDEA provide you with quick search that instantly takes you to a set of items that contain text you’re typing in them.
The first call of any IDE action is supposed to provide most expected results. Need more results? Press the shortcut again and the IDE will go deeper to find what you need.
Inline debugger
When you debug your code IntelliJ IDEA shows you variable values right in the source code, next to their usages.
You don’t even have to hover the mouse over the variable, or switch to the Variables pane of the Debug tool window.
Any time a variable changes its value, the IDE highlights it with a different color so that you can better understand how the state is changed over the code.
Built-in developer tools
To streamline your workflow, IntelliJ IDEA offers an unbeatable toolset right from the first start: decompiler, bytecode viewer, FTP and many more.
Version control
IntelliJ IDEA provides a unified interface for major version control systems including Git, SVN, Mercurial, CVS, Perforce, and TFS. The IDE lets you browse the history of changes, manage branches, merge conflicts and much more
Build tools
IntelliJ IDEA comes with a built-in decompiler for Java classes. When you want to take a look inside a library that you don't have the source code for, now you can – without any third-party plugins.
Test runner and coverage
IntelliJ IDEA lets you perform unit testing with ease. The IDE includes test runners and coverage tools for major test frameworks, including JUnit, TestNG, Spock; Cucumber, ScalaTest, spec2, and Karma.
Decompiler
IntelliJ IDEA comes with a built-in decompiler for Java classes. When you want to take a look inside a library that you don't have the source code for, now you can – without any third-party plugins
Terminal
The IDE comes with a built-in terminal. Depending on your platform, you can work with command line prompt, Far, powershell, or bash. Invoke the terminal with Alt+F12 and execute any command–without leaving the IDE.
Database tools
Take advantage of intelligent coding assistance when editing SQL; connect to live databases; run queries; browse and export data; and even manage your schemes in a visual interface–right from the IDE.
Application servers
IntelliJ IDEA supports major application servers: Tomcat, JBoss, WebSphere, WebLogic, Glassfish, and many others.
You can deploy your artifacts onto application servers and debug the deployed applications right from within the IDE.
Docker
Via a separate plugin, IntelliJ IDEA provides a dedicated tool window that lets you connect to locally running Docker machines to manage images, containers and Docker Compose services.
Polyglot experience
In addition to Java, IntelliJ IDEA offers first-class support for top JVM and non-JVM frameworks and languages out of the box.
First-class support for top frameworks
IntelliJ IDEA provides support for the most popular server-side and front-end frameworks.
Take advantage of extended coding assistance for Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, React, AngularJS and other frameworks.
Many languages–one IDE
While IntelliJ IDEA is an IDE for Java, it also understands many other languages, including Groovy, Kotlin, Scala, JavaScript, TypeScript and SQL.
IntelliJ IDEA is a turnkey solution, but if you ever need anything extra, its rich plugin ecosystem is here to help you.