IntelliJ IDEA 2022.2 comprend de nombreuses améliorations qui renforcent l'efficacité et la stabilité de la fonctionnalité de développement à distance. À partir de cette version 2022.2, IntelliJ IDEA utilise JetBrains Runtime 17, ce qui améliore l'expérience et les performances de l'IDE sur de nombreux points. IntelliJ IDEA Ultimate prend désormais en charge les fonctionnalités de Spring 6 et de Spring Boot 3 et propose des mises à jour pour plusieurs autres frameworks. La nouvelle version fournit par ailleurs de nombreuses autres mises à niveau et améliorations significatives, présentées en détail ci-dessous.
Nous avons introduit dans IntelliJ IDEA 2022.2 de nombreuses mises à niveau majeures pour le développement à distance afin de stabiliser l'expérience utilisateur et de l'enrichir de nouvelles fonctionnalités. Les dernières mises à jour apportent plusieurs améliorations du point de vue de la qualité. Vous pouvez ainsi connecter votre ordinateur portable via SSH à IntelliJ IDEA installé sur un serveur distant et bénéficier d'une expérience de développement fluide. Et si vous utilisez JetBrains Space pour orchestrer les backends avec la nouvelle version, vous pouvez gérer vos environnements de développement directement à partir d'IntelliJ IDEA. Apprenez-en plus dans cet article de blog.
As of v2022.2, all IntelliJ IDEA updates come with JetBrains Runtime 17 (JBR 17), which brings a significant IDE performance improvement, better security, enhanced rendering performance on macOS thanks to the Metal API, and more. Consultez cet article de blog pour en savoir plus.
IntelliJ IDEA 2022.2 fournit désormais une prise en charge complète des fonctionnalités de Spring 6 et de Spring Boot 3, notamment des nouvelles classes @AutoConfiguration
et des clqsses @ConfigurationProperties
avec la nouvelle syntaxe de liaison de constructeur sans @ConstructorBinding
explicite. Pensez à mettre à jour l'IDE ou à basculer vos projets vers cette nouvelle version si vous voulez essayer Spring 6.
Nous avons ajouté une nouvelle fonctionnalité Run Current File, disponible via le widget Run/Debug, qui permet l'exécution et le débogage de fichiers uniques sans configuration d'exécution dédiée : l'IDE utilisera automatiquement le type de configuration d'exécution le plus adapté au fichier sur lequel vous êtes en train de travailler.
Un nouveau raccourci clavier permet de modifier la taille de police partout dans l'éditeur. Pour augmenter la taille de la police, appuyez sur Alt+Maj+Point. Pour la réduire, appuyez sur Alt+Maj+Virgule. Vous trouverez aussi un nouvel un indicateur affichant la taille de police actuelle et une option permettant de rétablir la valeur par défaut.
Pour macOS, nous avons introduit la possibilité d'organiser votre espace de travail en fusionnant toutes les fenêtres de projet ouvertes en une seule, chaque fenêtre devenant un onglet distinct. Pour effectuer cette action, allez dans Window | Merge All Project Windows.
Vous pouvez maintenant configurer l'affichage des inspections dans l'éditeur sans que cela n'affecte leur degré de gravité. Pour modifier le style de la mise en évidence d'une inspection, utilisez le nouveau menu déroulant Highlighting in editor, qui affiche de façon claire toutes les options disponibles.
Pour plus de clarté et de facilité d'utilisation, la barre de progression Cloning repository s'affiche désormais sur l'écran d'accueil de l'IDE et directement dans la liste des projets.
La boîte de dialogue Add Mnemonic Bookmark comprend maintenant un champ Description qui permet d'ajouter une description facultative à votre signet.
Il est maintenant possible de désactiver la fermeture automatique des commentaires de bloc en appuyant sur la touche Entrée. Pour ce faire, allez dans Settings / Preferences | Editor | Smart Keys et décochez la case Close block comment dans la section Enter.
Vous pouvez désormais accéder aux paramètres Code Completion Settings et configurer vos préférences directement à partir du bouton de menu (constitué de trois points verticaux) dans la fenêtre contextuelle de saisie semi-automatique du code.
Lorsqu'un fichier est explicitement associé avec du texte brut par erreur, IntelliJ IDEA vous avertit de l'association de type de fichier erronée et vous suggère de la réinitialiser directement dans l'éditeur, au lieu de passer par Settings / Preferences.
Il est désormais possible de générer facilement un sommaire dans les fichiers Markdown à partir des en-têtes de documents. Cette nouvelle action est disponible à partir des menus contextuels Insert et Generate, que vous pouvez appeler avec le raccourci Alt+Insertion ou en faisant un clic droit. L'IDE insère un sommaire à la position du curseur et l'entoure des balises <!-- TOC -->
. Vous pouvez ainsi le modifier ultérieurement en appelant le même menu.
Nous avons implémenté une série de modifications dans les inspections Java pour vous aider à identifier les bugs potentiels et à simplifier le code. Par exemple, l'inspection Standard ‘Charset' object can be used a été améliorée de façon à reconnaître .name()
et .toString()
. L'IDE peut désormais vous avertir lorsque les variables de schéma masquent des champs et détecte les appels Objects.requireNonNullElse
sans signification. Plusieurs inspections Java liées à JUnit ont été converties en inspections JVM et sont donc maintenant disponibles aussi en Kotlin. En outre, la saisie semi-automatique du code suggère maintenant des littéraux .class, le cas échéant.
Pour en savoir plus sur les autres améliorations concernant Java, consultez cet article de blog.
Nous avons ajouté la prise en charge des fonctionnalités introduites dans Kotlin 1.7.0, la dernière version du langage. L'IDE rend maintenant correctement les types definitely non-nullable et fournit une inspection utile pour les exigences d'opt-in.
Nous avons intégré le débogueur Kotlin avec la fonctionnalité Data Flow Analysis, de sorte qu'il affiche dorénavant des conseils de DFA indiquant quelles conditions sont vraies et quelles branches seront exécutées. Auparavant, cette intégration était uniquement disponible pour Java, mais elle est désormais également prise en charge par Kotlin.
À partir de la version 2022.2, le compilateur Kotlin intégré n'est plus utilisé avec le constructeur natif d'IntelliJ IDEA. Les builds locaux et de CI s'exécutent maintenant avec la version du compilateur Kotlin déclarée dans les paramètres du projet. Cette modification élimine les incohérences entre les builds locaux et de CI qui résultaient auparavant de la discordance entre la version du compilateur intégré et la version définie dans le fichier de build du projet. Apprenez-en plus dans cet article de blog.
Notre travail d'optimisation des index a eu un impact positif sur la vitesse et les performances de l'IDE concernant la mise en évidence du code, la saisie semi-automatique et Find Usages.
À partir de sa version 2022.2, IntelliJ IDEA peut lire des types match à partir de fichiers .tasty, les analyser correctement, résoudre les variables de type, les utiliser comme arguments de type, prendre en charge des inspections et afficher les types sous forme de texte. On top of that, we’ve added support for Option-less extractors , type lambdas and polymorphic function types , type-level compiler intrinsics , and ?
as a wildcard together with _
in Scala 2.13.9 and 2.12.16. Le code copié-collé est également correctement mis en retrait.
Dorénavant, IntelliJ IDEA 2022.2 vous avertit lorsque le mot clé return
est utilisé dans une fonction anonyme pour quitter la fonction sans exécuter tout le code qu'elle contient. Il ne s'agit généralement pas d'une utilisation prévue et elle peut entraîner des coûts d'implémentation et de performances cachés. Un nouvel avertissement est déclenché lorsqu'un paramètre private ou class suit une variable superclass. En outre, une erreur s'affiche lorsque vous tentez de remplacer une variable d'une manière interdite par le compilateur. Ces nouveaux avertissements peuvent être configurés pour s'afficher si leurs options de compilateur respectives (-Xlint:nonlocal-return
et -Xlint:private-shadow
) sont présentes.
Si une ligne de code est trop longue parce qu'elle contient une liste d'arguments ou d'éléments dans une collection, vous pouvez maintenant utiliser l'action Put arguments on separate lines du menu contextuel pour répartir rapidement la liste sur plusieurs lignes. L'inverse est également possible : si vous pensez qu'une liste de plusieurs lignes est suffisamment courte, vous pouvez utiliser l'action Put arguments on one line pour replacer tous les arguments sur une même ligne.
La mise en évidence basée sur le compilateur a été optimisée pour une meilleure utilisation des ressources. L'IDE respecte désormais les paramètres de mise en évidence des fichiers définis par l'utilisateur. La compilation est maintenant déclenchée dans moins de cas et utilise moins de threads en arrière-plan. La portée de la compilation a été réduite au module et à la portée source appropriés.
L'action Safe Delete supprime un élément de la définition et de tous ses appels. Cette action fonctionne désormais pour les paramètres de type.
We’ve added support for Groovy-Integrated Queries (GINQ). L'IDE propose désormais la mise en évidence de la syntaxe, la saisie semi-automatique du code, et des inspections pour cette fonctionnalité de Groovy 4.
IntelliJ IDEA peut désormais vous aider à importer des certificats SSL approuvés à partir de magasins de confiance. Il utilisera automatiquement les certificats personnalisés spécifiques à l'environnement de l'entreprise. Aucune autre action n'est requise de votre part.
Nous avons mis à niveau IntelliJ Profiler pour faciliter la collecte des instantanés. À présent, lorsque vous commencez le profilage, les graphiques en direct CPU et Heap Memory apparaissent à côté de la console. Vous pouvez par conséquent voir les performances de votre application tout en collectant de nombreux instantanés de cette même application au cours de la période de profilage souhaitée.
Les fonctions inline de Kotlin sont maintenant affichées parmi d'autres dans les sections Flame Graph, Call Tree et Method List, ce qui vous permet d'en consulter le temps CPU et de l'optimiser si nécessaire. Cette fonctionnalité est actuellement compatible avec Linux et macOS, et n'est disponible que pour l'option Start profiling. Nous travaillons à la rendre compatible avec Windows, et nous l'ajouterons également prochainement au mode Attach.
Spring Framework 6 vous permet de définir un client HTTP en tant qu'interface Java avec des méthodes annotées. IntelliJ IDEA 2022.2 fournit la saisie semi-automatique des URL, la navigation et l'intégration avec le client HTTP pour ces interfaces.
IntelliJ IDEA Ultimate propose désormais la saisie semi-automatique des URL, ainsi que les fonctionnalités Search Everywhere et Find Usages pour les URL Spring Cloud Gateway. Vous pouvez facilement générer une requête HTTP ou trouver toutes les routes de passerelle à l'aide de la fenêtre d'outil Endpoints.
IntelliJ IDEA 2022.2 met automatiquement en évidence les corps JSON/XML dans les tests à l'aide d'API Java courantes telles que Spring WebTestClient, RestAssured, WireMock et MockServer. Ces fragments de données sont donc plus lisibles et plus faciles à modifier. Vous pouvez également utiliser la saisie semi-automatique d'URL et la navigation vers une déclaration à ces emplacements dans vos tests.
IntelliJ IDEA 2022.2 peut désormais vous aider à déboguer les binaires d'images natifs GraalVM. Vous pouvez joindre le débogueur à n'importe quel exécutable basé sur GraalVM ou démarrer votre application avec le débogueur joint. La configuration d'exécution correspondante sera créée automatiquement pour les projets Maven/Gradle. Cette intégration est expérimentale et nécessite le build de développement de GraalVM et l'installation de ce plugin.
Vous pouvez désormais naviguer facilement vers le code généré à partir des fichiers .proto et inversement. Assurez-vous que les plugins gRPC et Protocol Buffers sont activés.
IntelliJ IDEA 2022.2 reconnaît désormais les commandes CLI déclarées avec la bibliothèque Spring Shell et vérifie leur exactitude.
IntelliJ IDEA prend désormais correctement en charge les schémas d'URL de service web communs JAX-RS déclarés comme @ApplicationPath
et les sous-ressources dans la saisie semi-automatique des URL, la navigation et Find Usages.
IntelliJ IDEA Ultimate 2022.2 prend en charge les connexions WebSocket, ce qui vous permet de créer des requêtes, ainsi que d'envoyer et de recevoir des messages.
IntelliJ IDEA Ultimate peut désormais envoyer des requêtes GraphQL sur les protocoles HTTP et WebSocket. Pour http:// et https://, des requêtes HTTP simples sont utilisées, tandis que ws:// et wss:// sont délégués à l'exécuteur WebSocket.
Nous avons implémenté quelques améliorations à l'interface et à l'expérience utilisateur du client HTTP. Tout d'abord, nous avons ajouté un moyen pratique de sélectionner un environnement d'exécution à l'aide d'une icône dans la gouttière. Pour l'activer, sélectionnez l'option Select Environment Before Run dans la liste déroulante Run with. Ensuite, nous avons amélioré la vue Response en ajoutant une barre de progression qui vous permet de suivre le processus de téléchargement.
Les fichiers JSON, YAML et .properties comportent désormais des références web insérées automatiquement dans les valeurs commençant par http:// et https://. Vous pouvez ouvrir ces liens dans un navigateur web d'un clic, ou générer une requête dans le client HTTP à partir du menu Context Actions (Alt+Entrée).
IntelliJ IDEA 2022.2 fournit désormais des références et prend en charge le pliage pour les attributs de message dans les annotations Bean Validation en Java et Kotlin. Vous pouvez utiliser la saisie semi-automatique pour les clés de message ou accéder à leurs déclarations dans les fichiers i18n ValidationMessages.properties.
Nous avons remanié le plugin AWS CloudFormation pour mettre à jour les schémas de métadonnées et améliorer la saisie semi-automatique des propriétés. Vous pouvez installer la version mise à jour du plugin à partir de JetBrains Marketplace.
IntelliJ IDEA now supports all of the features in Jakarta Persistence 3.1, including the new JPQL syntax, functions, and types, and it provides language highlighting and code completion for them.
IntelliJ IDEA 2022.2 introduces image completion for the Testcontainers API where you can find all available Docker images and their versions. Cliquez sur la référence pour ouvrir l'URL Docker Hub correspondante dans votre navigateur web.
Il est maintenant possible de copier facilement des images d'un démon Docker vers un autre à l'aide de la nouvelle action Copy Docker Image, qui enregistre l'image dans un fichier, puis la transmet à la connexion choisie en mode push.
Désormais, IntelliJ IDEA 2022.2 se connecte automatiquement à Docker après un redémarrage. Ce nouveau paramètre est activé par défaut mais peut être désactivé dans Settings / Preferences | Advanced Settings | Docker.
À compter de la version 2022.2, IntelliJ IDEA s'intègre avec Colima et Rancher afin de prendre en charge davantage d'options pour établir des connexions à un démon Docker.
The Kubernetes plugin for IntelliJ IDEA 2022.2 provides integration with the Telepresence tool in order to intercept HTTP requests from services in the Kubernetes cluster and route them to your service running locally. Cela vous permet de déboguer ces services plus facilement et d'exécuter uniquement le sous-ensemble de services requis localement.
L'interface utilisateur de la structure des pages web a été considérablement améliorée. Vous pouvez désormais lire confortablement les parties les plus importantes, telles que le nom de la balise, l'identifiant et les classes CSS appliquées, grâce à la mise en évidence du format de texte.
Vous pouvez désormais facilement revenir à un élément de page d'un simple clic sur son icône dans la gouttière.
Lors de la création d'un fichier d'objet de page, l'assistant propose désormais un champ URL facultatif. Si l'adresse web est incluse, l'assistant suggère un nom de fichier d'objet de page à partir de l'adresse du lien. En outre, l'URL insérée est automatiquement chargée à l'ouverture de l'éditeur Page Object Editor.
Lors de l'ajout de nouveaux éléments de page à votre code, le curseur se déplace désormais automatiquement à la fin du bloc de code ajouté. Vous pouvez donc le parcourir facilement et poursuivre simplement vos modifications.
Chaque fois que vous tapez une nouvelle classe d'objet de page non référencée alors que vous travaillez sur une classe existante, vous pouvez corriger l'avertissement de code non résolu en naviguant simplement jusqu'au menu contextuel de l'avertissement pour créer un nouvel objet de page.
Pour la version 2022.2, nous avons amélioré le processus d'importation de fichiers. Vous pouvez maintenant sélectionner plusieurs fichiers CSV pour tous les importer en même temps.
La nouvelle interface utilisateur de la boîte de dialogue Modify est devenue l'option par défaut. À partir de la version 2022.2, tous les objets enfants d'une table peuvent être ajoutés et modifiés à l'aide de cette nouvelle interface utilisateur. L'ancienne interface utilisateur reste disponible dans le menu contextuel.
Pour améliorer la précision de la résolution des objets de base de données dans les scripts SQL, nous avons implémenté deux modes de résolution : Playground et Script. La première approche est recommandée si votre fichier se compose simplement d'un ensemble de requêtes non connectées, indépendantes les unes des autres et sans séquence particulière. La deuxième conviendra mieux si vos requêtes ont une logique séquentielle et doivent être exécutées en tant que script unique.
Nous avons activement travaillé sur la prise en charge d'Angular 14 dans IntelliJ IDEA 2022.2. L'ajout le plus important apporté dans cette version est la prise en charge des composants Angular autonomes. IntelliJ IDEA reconnaît désormais correctement les composants, directives et canaux signalés par standalone: true
.
IntelliJ IDEA 2022.2 améliore la prise en charge de Vue 3. Par exemple, il comprend maintenant la réduction de type (narrowing) dans les directives v-if/else
. En outre, la prise en charge de Pinia, la solution de gestion d'état recommandée par l'équipe Vue, qui fonctionne comme un référentiel global, a été améliorée. La saisie semi-automatique et la résolution fonctionnent désormais dans Vue avec la bibliothèque Pinia et vous pouvez accéder aux propriétés d'état et aux actions définies dans le référentiel.
IntelliJ IDEA 2022.2 est fourni avec TypeScript 4.7 et prend en charge de nouvelles fonctionnalités de langage comme moduleSuffixes et ESM dans Node.js. Il insère automatiquement l'extension .js dans l'instruction d'importation si le module est défini sur node16 ou nodenext dans votre fichier tsconfig.json. De plus, l'IDE prend en charge le champ typesVersions dans les fichiers package.json.