IntelliJ IDEA 2020.3

Añade sugerencias interactivas y relojes en línea en el depurador.
Diciembre 3, 2020
Nueva versión

Características

User experience

  • New Welcome screen - The IntelliJ IDEA welcome screen has been redesigned. The Initial wizard has been replaced with a quick-access screen containing four tabs: Projects for managing your projects, Customize for setting up the IDE interface, Plugins for plugin installation, and Learn IntelliJ IDEA for access to help and learning resources.
  • Learn IntelliJ IDEA - Open the Learn IntelliJ IDEA page right from the Welcome screen. You can find numerous resources to get acquainted with your IDE. Select an interactive course from the list, and the IDE will then open a specific learning project to study the topic step by step in a real environment. Follow the instructions in the Learn view to test your new skills on actual coding samples.
  • IDE theme synced with OS settings - IntelliJ IDEA can now synchronize its theme with your OS theme.
  • Reader mode - Read-only files and files from external libraries are now opened by default in Reader mode. In this mode, comments look like formatted text and font ligatures are enabled to help make the code more readable to users.
  • LightEdit improvements - This release has improved the UX for LightEdit mode. To open files in LightEdit mode from the command line, you now type -e (--edit) followed by the name of the file you want to open, or omit the filename to reopen your previous session. A new status bar in the LightEdit window provides access to the full set of IDE features.
  • Better spelling and grammar checkers - Now when you press Alt+Enter, the IDE invokes suggestions to correct your grammar or spelling. This release has also started using a new version of the LanguageTool grammar checking engine, which improves text reviews in English and adds support for 10+ more languages.
  • Search Everywhere updates - Added a new Git tab to the Search Everywhere dialog. You can now find commit hashes and messages, tags, and branches in the Search Everywhere dialog. You can also perform simple mathematical calculations in the search field.
  • Preview tab - You can now open a file in a preview tab with a single click. When you open a file in a preview tab, its name is displayed in italic. If you start editing this file, it will cease to be a preview and will become an ordinary file. If you single-click another file to open it in preview mode, it will appear in the same tab, replacing the previously opened one.
  • Linux emoji picker - Added an emoji picker for Linux. To open the emoji picker, press Ctrl+Alt+;. You can filter emojis by category, change their skin tone, and search for emoji by name. The emoji picker fully supports keyboard navigation.
  • Update JDK from inside the IDE - Starting from v2020.3, it is possible to migrate to the latest JDK from a popup that appears whenever an update is available. You can choose whether you want to install it or skip it.

Editor

  • New Extract method layout - This release has made it easier to extract Java methods.
  • More intuitive access to Rename settings - With the new Rename preferences that appear in an inlay hint, it is now possible to select whether you want to rename occurrences in comments and string literals or in printable text.
  • Drag and drop tabs - If you want to have several tabs open while working on a project, you can now drag and drop file tabs to split the editor either horizontally or vertically. This release also introduced the Open in Right Split action that splits the editor vertically upon opening your file. Invoke the action from the Project view or other navigation popups, such as Recent Files, Search Everywhere, and Navbar.
  • Pinned tabs improvements - In v2020.3 the new pin icon is shown for pinned tabs. When you click on it, you unpin the file. You can also pin and unpin your tabs by dragging and dropping them over other pinned or unpinned files. If you tend to open a lot of tabs, you can keep all your pinned tabs in one row.
  • Improved Markdown editing and preview - The Markdown tool now has a better preview UI and improved UX. You can customize Markdown format in the settings. The Auto-Scroll Preview button in the top-right corner of the editor allows you to sync scrolling of the preview pane and the editor. This release also added support for Mermaid.js.
  • Setting IntelliJ IDEA as the default application for opening files - Now you can set IntelliJ IDEA as a default application to open files.
  • Multiple files per template - In Preferences/Settings|Editor|File and Code Templates, it is now possible to add a template that creates several files.

Debugger

  • Interactive hints - When your application is running in debug mode, you can click on variables to get inline hints that contain related fields that you can change the values of. Click Create Renderer inside this new inline hint to open a dialog where you will be able to configure the display of inline values in all debugger views.
  • Inline watches - Added a new type of watch expressions which will be associated with a particular context and shown right inside the editor. You can manage your inline watches in a new Inline Watches node in the Variables tab of the Debug tool window.
  • Basic memory profiling in Java debugger - Basic profiling options are now available while the debugger is running.
  • Better debugging for Gradle - Now only one tab opens per debugging session for a Gradle task. It contains Frames and Variables, as well as the Console output. Debugger controls now work correctly.

Profiler

  • Updated Profiler tool window - In the redesigned Profiler tool window, you can attach the profiler to a running application. In the list of all running Java processes, press Enter to invoke Attach Profiler to a Process and select which integrated tool you want to use. In the Recent Snapshot area, you can quickly access any previously created snapshots.
  • Flame graph search - The flame graph search is now more user-friendly, featuring a visible search field, up/down arrows for fast navigation, a filter that allows you to search in the whole flame graph, or just in a specific subtree.
  • Easy access to .jfr and .hprof - There is no more need for working around opening .jfr and .hprof files. To open any file of these types quickly, drag and drop it in the editor, open it with File|Open, or double-click it in the Project view.

Version control

  • Git stage support - You can now stage changes directly from your IDE. You can also stage changes right from the gutter or in the Diff view.
  • Rearranged VCS menu - The VCS menu is now named according to the version control system that you are currently using. This release has made the menu more concise, removing all but the most useful actions for versioning your project.
  • Improved branches - When you create new branches, the IDE automatically corrects unaccepted symbols in branch names. This release has reworked the context menu for the current branch to show the related actions. For remote branches, this release has renamed the Merge into Current and Rebase Current onto Selected actions as Pull into Current Using Merge and Pull into Current Using Rebase.

Run Configurations

  • Updated Run/Debug configurations - Rearranged Run/Debug Configurations to make it neater, with the most frequently used settings now located in one screen.
  • Store and share run/debug configuration templates - In IntelliJ IDEA 2020.3, you can store run configuration templates as XML files and then share them with teammates via Git or another VCS.

Collaborative development

  • Code With Me EAP - IntelliJ IDEA 2020.3 supports Code With Me (EAP) – a new service for collaborative development and pair programming. Code With Me enables you to share the currently opened project in your IDE with others, and work on it together in real-time.

Java

  • Conversion of records - Added a new intention action that allows you to convert records to classes. It can be useful when you want to downgrade your codebase.
  • Full support for sealed classes - This release has added completion, code insight, and refactorings for sealed classes. When you use the sealed modifier, you declare a class as a sealed class that allows you to define which other classes can extend it and which classes to prevent from being extended. The subclasses can either be final, non-sealed, or sealed.
  • Machine Learning-based code completion - Code completion suggestions are now based on machine learning technology.
  • Shebang (#!) support - If your files use a Shebang mechanism, IntelliJ IDEA automatically identifies this and allows you to open them correctly and use code insight. Highlighting for files with shebang (#!) also works.
  • New Inspections - IntelliJ IDEA 2020.3 introduced new inspections that can help you improve your code. One of the most important inspections is Commented out code which lets you either delete or uncomment lines that have been commented out.
  • Better code completion - When you create a class from scratch, completion now offers class, interface, enum, or record after the top-level Public declaration. If you use the String.toUpperCase or String.toLowerCase methods, you are now prompted to use Locale.ROOT. When you are about to call String.getBytes(), the IDE suggests using the UTF_8 charset.

Kotlin

  • New types of inline refactorings - Cross-language conversion is now possible, meaning you can inline Kotlin elements from Java. You can also inline-refactor the also, let, run, apply, and with scope functions. This release also improved the inlining of lambda expressions for the IDE to analyze their syntax more thoroughly and format them correctly.
  • Structural search and replace - Introduced support for structural search and replace (SSR) actions for Kotlin. You can find and replace code patterns, taking the syntax and semantics of the source code into account. Filters for variables allow you to narrow down your search.
  • New infrastructure - The Kotlin IDE plugin release cycle is now synced with the IntelliJ IDEA release cycle. This release has also moved the Kotlin IDE plugin to a new repo that is combined with the IntelliJ IDEA codebase to minimize the time it takes us to pick up platform changes.

Frameworks and technologies

  • Reworked Endpoints tool window - This release significantly improved the Endpoints tool window. It features a more convenient display of endpoints grouped by module with an option to make the list more compact.
  • cURL conversion - You can now export an HTTP request to cURL by pressing Alt+Enter in the HTTP request editor and selecting the Convert to cURL and copy to clipboard option.
  • Better URL completion - URL completion is now more informative, with framework icons, HTTP methods, and source locations of the classes or files in which you declared the endpoint. Deprecated URLs are displayed with strikethrough formatting.
  • URL Inlay Hints - Added fast access to some key actions for URLs. Click the globe icon next to the URL to access them. These actions are currently available for the Spring MVC, WebFlux, Feign Client, JAX-RS, Micronaut, and Retrofit frameworks.
  • Spring updates - Added support code insight for Spring MVC Functional Routing, RestOperations, Spring WebTestClient, and Spring Reactive WebClient. IntelliJ IDEA also displays endpoints declared with them. This release also added code completion and navigation for Kotlin Spring Security projects.
  • HTTP request conversion - If you still use HTTP requests in the old HTTP client format, you can easily convert them by clicking Convert request to the new format at the top of an open request. Other ways to do it are via the context menu in the Project view or from the HTTP request editor.
  • Swagger updates - Improved code insight in various cases, including when you want to reference external definitions with the $ref keyword. This release also added Swagger Hub support for you to get both public and private specifications from Swagger Hub and open them in the Endpoints tool window. Another new feature is that the Swagger UI now syncs with the Darcula theme.
  • Quarkus configurations - Your new Quarkus project has an automatically created run configuration, which means that you can run and debug your application right away. If you decide to change the settings in Edit Configurations, the Environment section will feature only the settings applicable to Gradle or Maven, depending on which of these you are using to build your project.
  • Code completion and @Query annotation for Micronaut Data - IntelliJ IDEA 2020.3 introduces completion for predefined methods that you use when creating repository interfaces. This release also added support for the Micronaut @Query annotation that helps when creating customized queries. With this annotation, you can use the JPQL language for code fragments.

Scala

  • Parallel Compilation - The Scala Compile Server now compiles independent modules in parallel. This release adjusted the default VM options to support up to 4 compilation threads by default, which can speed up compilation a great deal. If your machine has lots of CPU cores and a lot of RAM, feel free to tweak the default values to improve compilation times even further.
  • Compilation charts - To increase the efficiency of parallel compilation, you may want to optimize the structure of your project modules and the VM options of the Compile Server. This release added Compilation Charts to help you with this. Now you can tell at a glance when there is potential for optimization.
  • Enhanced Package Prefixes - The Scala plugin can now combine IntelliJ IDEA’s package prefixes with Scala’s chained package clauses and relative imports.
  • MUnit Support - The Scala plugin already supports JUnit, ScalaTest, uTest, and Specs2. This release has added support for MUnit.
  • Scala 3 Improvements - The IntelliJ Scala plugin has already included support for the upcoming Scala 3 for quite a while. With this release the Scala plugin now understands the new syntax for main methods.

JavaScript

  • Integrated TypeScript and Problems tool windows - Integrated the TypeScript language service into the Problems tool window and removed the TypeScript tool window. This release also moved the actions previously available within the TypeScript tool window to a dedicated widget on the status bar.
  • Create a React component from usage - Place the caret at the unresolved React components location, press Alt+Enter, and select Create class/function component from the list – the IDE will create the relevant code construct for you.

Kubernetes

  • Download logs - You can now download logs to your local machine – just click the Download Log button in the left pane of the Services tool window.
  • Open Console and Run Shell - Two new actions have been added to the left pane of the Services tool window: Open Console for connecting containers that include consoles, and Run Shell for launching Shell for a pod container. Click the tools icon for quick access to the Pod Shell section of the settings.
  • Load CRDs from Kubernetes - It is now possible to automatically load CRD schemas from an active cluster.

Database tools

  • SQL for MongoDB - You can now use SQL to query MongoDB databases. IntelliJ IDEA 2020.3 supports SELECT queries with clauses such as JOIN, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET, and all available MongoDB functions except map, reduce, filter, and let.
  • Couchbase support and new data extractors - The IDE now supports the Couchbase Query service. This release also introduced two new extractors: One-Row that allows you to copy a column to a comma-separated string; and SQL-Insert-Multirow, which generates a single INSERT statement with multiple new rows to be inserted.

Other

  • The upcoming Maven 3.7.0 will feature new POMs with a simplified structure. IntelliJ IDEA 2020.3 already includes support for them.
  • The Lombok plugin is now built-in.
  • IntelliJ IDEA can download shared indexes for popular Maven libraries directly from JetBrains’ servers. If you develop plugins with an IntelliJ Platform SDK, shared indexes will be downloaded automatically.
  • Updated the UI to look good in the upcoming Apple macOS Big Sur.
  • A new keymap fully compatible with macOS system shortcuts is available.
  • Now uses Git format by default for creating patches.
Inline watches

IntelliJ IDEA

Entorno completo de desarrollo Java.

IntelliJ IDEA también está disponible en:

¿Alguna pregunta?

Chatee en vivo ahora mismo con nuestros especialistas en licencias de JetBrains.