IntelliJ IDEA 2022.1 introduit le Dependency Analyzer pour faciliter la gestion des dépendances et la résolution des conflits, un assistant New Project mis à jour pour faciliterle lancement de nouveaux projets, et la fenêtre d'outils Notifications qui offre un nouveau moyen simplifié de recevoir des notifications de l'IDE. Cette version apporte aussi un certain nombre d'améliorations notables, qui sont présentées en détail ci-dessous.
La toute nouvelle fonctionnalité Dependency Analyzer fournit des informations complètes sur toutes les dépendances Maven et Gradle utilisées dans vos projets et sous-projets. Elle vous aide à détecter et à résoudre les conflits de dépendances, à filtrer les dépendances identiques, à voir dans quelles bibliothèques ils sont présents, et facilite la navigation pour corriger les configurations de builds.
Nous avons remanié l'interface de l'assistant New Project afin de simplifier la création de nouveaux projets. Vous pouvez désormais lancer rapidement un nouveau projet et utiliser les options préconfigurées pour Java, Kotlin, Groovy et JavaScript, ou des générateurs si vous travaillez sur des projets plus complexes.
L'instance Event Log est remplacée par une nouvelle fenêtre d'outils Notifications. Cette fenêtre dédiée met plus clairement en évidence les suggestions et notifications importantes et les présente de manière plus organisée. Pour en savoir plus, consultez cet article de blog.
La nouvelle version du générateur de projet Maven Archetype dans l'assistant New Project introduit une fonctionnalité de recherche au fil de la saisie lors de la navigation dans les archétypes, la possibilité de gérer un catalogue d'archétypes lors de la création du module et la possibilité d'ajouter les propriétés requises par archétype.
Nous avons implémenté des conseils d'insertion Code Vision améliorés qui permettent d'obtenir instantanément des analyses du code directement dans l'éditeur. La liste des métriques affichées comprend désormais inheritors, usages, code authors et related problems. Ces métriques sont maintenant toutes activées par défaut et peuvent être modifiées dans les paramètres de Inlay Hints. Ces paramètres ont également fait l'objet d'une mise à jour à et disposent d'une nouvelle interface de configuration.
Vous pouvez répartir uniformément l'espace de travail entre les onglets de l'éditeur afin qu'ils aient tous la même largeur. Pour configurer cela, allez dans Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits.
Il est désormais possible d'exporter des diagrammes UML sous forme de fichiers yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot avec positions, Mermaid .md, Plantuml et IntelliJ IDEA IDEA .uml, ce qui les rend compatibles avec des outils tiers.
La boîte de dialogue Structural Search and Replace dispose désormais d'une liste de tous les modèles afin de faciliter la navigation entre eux. En outre, la boîte de dialogue comporte une icône Pin Dialog et les cases à cocher Injected code et Match case ont été réorganisées.
IntelliJ IDEA 2022.1 can now detect vulnerabilities in Maven and Gradle dependencies used in your projects by checking across the Checkmarx SCA Database and the National Vulnerability Database, thanks to the Package Сhecker plugin that is bundled with IntelliJ IDEA Ultimate.
Apprenez-en plus dans cet article de blog.
Lorsque vous travaillez avec des fichiers Markdown qui contiennent des instructions avec des commandes à exécuter, vous pouvez exécuter ces commandes directement à partir du fichier en utilisant les icônes d'exécution dans la gouttière.
Avec la nouvelle fonctionnalité Copy code snippet dans les blocs Markdown, vous pouvez copier le contenu dans le presse-papiers en un seul clic.
La barre d'outils flottante de l'éditeur Markdown a été remaniée et fournit maintenant une fonctionnalité de création de listes et un menu déroulant qui permet de sélectionner des styles d'en-tête. Elle est personnalisable, vous pouvez donc y ajouter les options dont vous avez besoin.
Nous avons amélioré le mode LightEdit pour vous permettre d'en faire encore plus sans avoir à créer ou ouvrir un projet dédié. Désormais, vous pouvez lancer le reformatage du code en mode sans projet.
Nous avons implémenté l'inspection Incorrect formatting, qui vous avertit lorsque le formatage d'un fichier ne correspond pas aux paramètres de style de code.
Afin de favoriser la cohérence du formatage du code, nous avons ajouté à l'option Add a space at line comment start une case Enforce on reformat qui est activée automatiquement. Elle est disponible par défaut pour Java, Kotlin et Groovy, et ne modifie que les commentaires de lignes qui commencent par des symboles alphanumériques.
L'outil de mise en forme en ligne de commande prend en charge un mode dry run pour valider les fichiers de projet. Si le fichier doit être formaté, le programme se terminera avec un code de retour différent de zéro.
IntelliJ IDEA 2022.1 prend en charge les nouvelles fonctionnalités de Java 18, qui a été publié en mars 2022. L'IDE prend donc maintenant en charge les extraits de code, les modifications apportées à la correspondance des schémas pour les expressions switch, et bien plus. Pour en savoir plus, consultez cet article de blog.
Le décompilateur Java est désormais davantage compatible avec la version 17 de Java. Il prend en charge les constructeurs de langage modernes, tels que les types scellés et la correspondance des schémas, offre une meilleure commutation sur la décompilation des chaînes de caractères, fournit des annotations de type et détecte les constantes courantes.
Nous avons ajouté la prise en charge des nouvelles fonctionnalités introduites dans JUnit 5.7, notamment celle des annotations @EnabledIf/DisabledIf
, @NullSource/EmptySource
et @TempDir
.
Le modèle Surround with try/catch mis à jour renvoie désormais une exception enveloppée dans une RuntimeException au lieu de la masquer.
IntelliJ IDEA 2022.1 prend en charge les dernières fonctionnalités de Kotlin 1.6.20, notamment la compilation parallèle, du prototype de récepteurs de contexte et les améliorations du partage de code multiplateforme. Pour en savoir plus sur les dernières mises à jour de Kotlin, consultez cet article de blog.
L'optimisation des index de paquets a considérablement augmenté la vitesse de l'IDE lors de la saisie semi-automatique du code, de sa mise en évidence et des opérations liées à la recherche de références. Le nombre et la portée des cas de réindexation survenant après des modifications du code ont également diminué.
Cette version apporte plusieurs améliorations et modifications pour la fonctionnalité Smart Step Into lors du débogage de projets Kotlin. Nous avons également résolu un certain nombre de problèmes concernant les points d'arrêt.
To ensure better Kotlin code coverage, the Kover plugin has been integrated with IntelliJ IDEA.
La saisie semi-automatique du code pour Groovy prend désormais en charge la plupart des modèles postfix de type Java tels que arg
, cast
, for
, iter
, nn
, notnull
, null
, not
, throw
, try
, var
, par
, sout
, serr
, while
, new
, reqnonnull
, et return
.
IntelliJ IDEA Ultimate prend désormais en charge les microservices Go et fournit des fonctionnalités comme les références de chemins URL, les points de terminaison, Search Everywhere et les icônes de gouttière. Les fonctionnalités sont disponibles après l'installation du plugin Go et ne fonctionnent actuellement qu'avec les fonctions de bibliothèque standard. Plus d'informations ici.
Lorsque vous travaillez avec Spring Data MongoDB, IntelliJ IDEA met désormais en évidence les requêtes JSON, complète les opérateurs et les champs de document, et permet la navigation vers la fenêtre d'outils Database à partir des entités mappées.
Une nouvelle action d'intention pour les fichiers .proto ajoute les déclarations d'importation manquantes pour les références de message non résolues. Après avoir ajouté ces déclarations, l'IDE fournit des suggestions saisie semi-automatique pour les références de messages.
Avec IntelliJ IDEA Ultimate, vous pouvez désormais exécuter des requêtes et bénéficier de la saisie semi-automatique des noms de services et de méthodes directement à partir d'une instance de serveur en cours d'exécution. The project does not need to contain .proto files, but the server should support gRPC reflection.
IntelliJ IDEA Ultimate propose désormais une meilleure prise en charge de Thymeleaf, avec notamment une réduction du nombre de faux positifs, une amélioration des performances de l'IDE lors de la modification des modèles Thymeleaf, et un réglage précis des niveaux d'inspection et de mise en évidence afin de garantir afin de recevoir les bonnes notifications.
Le framework Helidon est maintenant mieux pris en charge dans IntelliJ IDEA Ultimate. L'IDE permet de compléter les clés de configuration dans les fichiers de propriétés et les fichiers .yaml, et prend en charge les actions Go to Declaration et Quick Doc.
Nous avons ajouté une barre de progression pour les processus Gradle tels que le téléchargement de dépendances et l'importation d'artefacts. Elle vous permet de suivre précisément ce qui se passe avec les fichiers et d'estimer la fin du processus.
Nous avons ajouté une fonctionnalité expérimentale au plugin Maven compiler. Elle permet de définir des niveaux de langage spécifiques séparément pour les sources de production et de test. Vous pouvez activer cette option dans Preferences/Settings | Build, Execution, Deployment | Build Tools | Maven | Importing.
Nous avons mis à jour la fonctionnalité Code Vision afin qu'IntelliJ IDEA puisse fournir instantanément des informations sur l'auteur du code à partir de l'historique du VCS. Les conseils d'insertion Code Author sont activés par défaut dans Preferences / Settings | Editor | General | Inlay Hints | Code Vision.
Nous avons amélioré la fonctionnalité d'Annotate with Git Blame afin de faciliter l'examen des modifications. L'IDE met en évidence la différence entre les lignes directement dans l'éditeur lorsque vous survolez une annotation et ouvre la fenêtre d'outil Git Log lorsque vous cliquez dessus.
Commit Details comprend maintenant des informations sur les signatures GPG et l'état du build. Auparavant, ces données étaient seulement affichées dans une colonne du journal Git.
La nouvelle interface utilisateur de la fenêtre d'outils Git File History est désormais indépendante du processus d'indexation. Les données sont représentées avec une nouvelle interface, même lorsque l'indexation des journaux est désactivée.
Il est maintenant plus facile de travailler avec les modifications suggérées dans IntelliJ IDEA car vous pouvez appliquer des modifications au code ou valider des modifications par commit localement dans l'IDE.
IntelliJ IDEA 2022.1 permet de spécifier différents outils externes de comparaison et de fusion en fonction du type de fichier. Pour les configurer, allez dans Settings / Preferences | Tools | Diff & Merge | External Diff Tools.
Nous avons implémenté IntelliJ Profiler, une nouvelle configuration du profileur. Elle combine la puissance d'Async Profiler et du Java Flight Recorder et nous rapproche de notre objectif d'implémenter un outil de profilage unique et exhaustif pour toutes les plateformes.
Dans la vue Frames de la fenêtre d'outils Debugger, nous avons supprimé l'action Drop Frame de la barre d'outils pour la remplacer par une icône Reset Frame inline.
Pour optimiser l'espace exploitable dans la fenêtre d'outils Debugger, les libellés des onglets sont désormais masqués par défaut. Pour les afficher à nouveau ou pour personnaliser leur emplacement, utilisez l'option Show Tab Labels dans Layout Settings.
Le plugin Selenium UI Testing a reçu une énorme amélioration pour son éditeur d'objets de page. Nous avons optimisé le workflow et remanié l'interface utilisateur afin de réduire le nombre de distractions. Vous pouvez ajouter instantanément des éléments de page au code à partir d'une page web à la volée et poursuivre vos modifications sans quitter l'éditeur d'objets de pages. Vous pouvez également choisir le type de sélecteur à utiliser lorsque vous ajoutez un nouvel élément de page au code.
Le nouvel assistant Page Object vous permet de choisir le langage et le framework d'automatisation des tests lors de la création d'une nouvelle classe d'objets de page. Vous avez accès à l'assistant à tous es endroits de votre code où la bibliothèque Selenium est ajoutée en tant que dépendance. Si vous voulez essayer notre génération automatique d'objets de page avec différents frameworks et modèles personnalisés sans créer de fichier, il existe un mode playground spécial disponible via Tools | Open Selenium Page Object Playground.
La modification des ressources chargées depuis le cluster peut maintenant s'effectuer via l'onglet de l'éditeur.
Vous pouvez configurer manuellement un chemin vers kubectl s'il ne se trouve pas à l'emplacement standard. Pour définir votre chemin d'accès personnalisé, allez dans Settings/Preferences | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.
La fonctionnalité de transfert de port pour les pods est maintenant disponible. Pour transférer des ports, vous pouvez utiliser l'icône de la barre d'outils ou choisir l'élément de menu contextuel.
Une nouvelle action Describe Resource a été introduite pour toutes les ressources dans la vue Services. Vous pouvez l'appeler à partir du menu contextuel ou utiliser le bouton de la barre d'outils.
Les événements des clusters sont maintenant affichés dans un nœud séparé dans la vue Services et fournissent des données sur les événements récents du système. Pour afficher les événements d'un pod spécifique, appelez Describe Resource sur ce dernier et recherchez la section Events dans les résultats de l'action.
Nous avons introduit une prise en charge limitée de l'éditeur pour werf.yaml et les fichiers modèles Helm associés, notamment la fonctionnalité de saisie semi-automatique du code, les inspections, les suggestions de correctifs rapides, la refactorisation/le renommage pour .Values.werf.image.*
et la validation de certains champs comme boolean
et int
.
IntelliJ IDEA Ultimate prend désormais en charge l'importation des valeurs enfants qui affectent la saisie semi-automatique/la navigation des objets intégrés dans les modèles via les paramètres import-values.
Pour IntelliJ IDEA 2022.1, nous avons apporté des modifications significatives à l'interface utilisateur de Docker dans la fenêtre d'outils Services. Cette refonte concerne les conteneurs, les images, les réseaux et les volumes.
La prise en charge des cibles de Docker Compose est maintenant disponible. Pour exécuter une application Spring Boot sur une cible Compose par exemple, allez dans la configuration de lancement, créez une cible Compose à l'aide de Manage targets, puis exécutez l'application.
Nous avons ajouté la prise en charge de l'API Docker Registry HTTP V2 qui est utilisée avec Docker 1.6 et ses versions ultérieures. Vous pouvez ainsi créer des registres Docker V2 simples ou protégés par mot de passe et effectuer toutes les actions habituelles, comme afficher, pousser et extraire des images.
Nous avons ajouté un widget Backend Control Center qui affiche la charge du processeur, la mémoire, la capacité du disque, et d'autres paramètres utiles pour surveiller l'état du backend.
Un nouveau paramètre de sécurité vous permet d'utiliser le transfert de clé SSH pour authentifier l'accès aux dépôts Git à partir de votre machine distante. Vous pouvez également utiliser le programme d'assistance SSH-agent pour cela.
Vous pouvez maintenant spécifier le chemin de téléchargement et les emplacements exacts du backend de l'IDE sur votre machine distante.
Le client JetBrains prend davantage d'éditeurs de fichiers en charge. Vous pouvez ainsi travailler non seulement avec des fichiers texte, mais aussi avec des images PNG, des diagrammes UML, des fichiers Jupyter Notebook, et des ressources de mise en page Android.
Run with coverage et une fenêtre Profiler ont été ajoutés dans le menu de la gouttière. Le menu contextuel inclut désormais les fenêtres d'outils Maven et Gradle, et des éléments de sous-menu plus utiles ont été ajoutés.
Nous avons également amélioré la fonctionnalité de débogage et mis plusieurs actions à disposition afin que vous puissiez facilement examiner votre code lors du développement à distance.
Vous pouvez désormais sélectionner plusieurs tables et les copier dans un autre schéma. Sélectionnez les tables et appuyez sur F5
pour ouvrir la boîte de dialogue d'exportation. Lorsque vous exportez une seule table, vous pouvez mapper les colonnes, voir le DDL de la nouvelle table et le modifier.
L'IDE prend en charge l'exportation entre SGBD, le schéma cible peut donc appartenir à n'importe quelle base de données de votre projet. Pour en savoir plus, consultez cet article de blog.
Vous pouvez désormais modifier les résultats dans les collections MongoDB aussi facilement que dans les bases de données relationnelles. Vous pouvez également modifier les ensembles de résultats obtenus via .find()
. Cela fonctionnera même si les méthodes du curseur qui modifient le résultat, comme sort()
ou limit()
, ont été exécutées après .find()
.
La logique d'annulation des déclarations en cours a été modifiée. Il est maintenant clairement indiqué que la requête est en train d'être annulée et les sources de données ne sont plus désactivées sans avertissement préalable. Pour en savoir plus, consultez cet article de blog.
Vous pouvez maintenant arrêter le processus de création d'une connexion sans désactiver la source de données. Si vous cliquez sur le bouton Cancel pendant la création de la connexion, celle-ci sera interrompue et un message « Connection canceled » s'affichera. Pour en savoir plus sur cette mise à jour, consultez cet article de blog.
Grâce à la prise en charge intégrée de React, toutes les fonctionnalités principales doivent déjà fonctionner dans vos projets Next.js. IntelliJ IDEA 2022.1 ajoute la prise en charge de certains aspects spécifiques au framework, comme les pages. L'IDE résoudra les chemins utilisés dans la propriété href
de vos composants Link
, ainsi que dans les balises form et autres. La saisie semi-automatique du code, la navigation et les refactorisations fonctionnent également.
Dans cette version, nous avons ajouté une intégration complète avec Volta, un gestionnaire d'outils JavaScript. IntelliJ IDEA 2022.1 reconnaît automatiquement Yarn et npm s'ils sont installés à l'aide de Volta.
Il est désormais possible d'autocompléter les méthodes extension
. L'éditeur propose également d'importer automatiquement les méthodes extension
et les instances given
. De nouvelles inspections pour le modificateur infix
et l'annotation @targetName
peuvent vous aider à maintenir la cohérence de votre style de code. Nous avons considérablement amélioré les performances du lecteur .tasty
: l'indexation des bibliothèques Scala 3 est désormais deux fois plus rapide.
La configuration d'un nouveau projet Scala est devenue plus facile. Grâce à l'assistant New project mis à jour, vous pouvez sélectionner un JDK de projet, le système de build souhaité et la version de Scala en une seule étape.
La plupart des éléments en Scala sont des alias, notamment String
, Seq
, List
, Set
et Map
. Cela affecte la mise en évidence syntaxique, GoTo, Quick Documentation, Quick Definition, Find Usages, Optimize Imports, et d'autres fonctionnalités de l'IDE, car elles agissent sur les alias plutôt que sur les définitions réelles. Pour améliorer l'expérience utilisateur, l'éditeur traite désormais les alias de la bibliothèque standard comme des exportations transparentes. Ainsi, par exemple, List
implique scala.collection.immutable.List
plutôt que scala.List
.
Auparavant, la détection des déclarations inutilisées était limitée aux liaisons private
. Désormais, l'inspection Unused declaration prend en charge les liaisons publiques introduites par des classes, méthodes, variables, paramètres, etc.
Dans cette version, nous avons remanié et simplifié le débogueur Scala. Nous avons amélioré le traitement des objects
, des paramètres primaires des constructeurs, des classes
de valeurs, des Arrays
, des lazy vals
, des collections et de l'évaluation des expressions.
Lorsque vous révisez les modifications du code dans l'IDE, vous pouvez maintenant choisir quand publier un commentaire de révision du code.
For more details, check out this blog post.
Nous avons amélioré l'interface utilisateur de la révision de code en affichant les raccourcis clavier pertinents. Lorsque vous publiez un commentaire de révision de code, vous pouvez utiliser la touche Entrée pour ajouter une nouvelle ligne. Ctrl+Entrée permet d'enregistrer ou de publier le commentaire.