IntelliJ IDEA 2022.1 est disponible
Tour d'horizon des nouveautés de la première mise à jour majeure de l'année de l'EDI Java de JetBrains
IntelliJ IDEA 2022.1, la première mise à jour majeure de l'année de l'EDI Java de JetBrains, est disponible. Cette version introduit le Dependency Analyzer pour faciliter la gestion des dépendances et la résolution des conflits, un assistant New Project mis à jour pour faciliter le lancement de nouveaux projets, et la fenêtre d'outils Notifications qui offre un nouveau moyen simplifié de recevoir des notifications de l'EDI. Cette version apporte aussi un certain nombre d'améliorations notables, qui sont présentées en détail ci-dessous.
Principales mises à jour
Dependency Analyzer
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.
Assistant New Project amélioré
JetBrains a 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.
Nouvelle fenêtre d'outils Notifications
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.
Expérience utilisateur
Maven Archetype dans l'assistant New Project
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.
Amélioration des conseils d'insertion
JetBrains a 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.
Onglets fractionnés de façon égale
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.
Exportation de diagrammes UML vers d'autres formats
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.
Nouvelle boîte de dialogue Structural Search and Replace
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.
Sécurité
Plugin Package Checker
Grâce au plugin Package Сhecker fourni avec IntelliJ IDEA Ultimate, IntelliJ IDEA 2022.1 peut détecter les vulnérabilités dans les dépendances Maven et Gradle utilisées dans vos projets en effectuant des vérifications dans les bases de données Checkmarx SCA Database et National Vulnerability Database.
Éditeur
Exécution de commandes à partir de fichiers Markdown
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.
Copy code snippet pour les fichiers Markdown
Avec la nouvelle fonctionnalité Copy code snippet dans les blocs Markdown, vous pouvez copier le contenu dans le presse-papiers en un seul clic.
Mise à jour de la barre d'outils flottante de l'éditeur Markdown
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.
Reformatage du code en mode LightEdit
JetBrains a 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.
Nouvelle inspection Incorrect formatting
L'éditeur de logiciels pour développeurs a 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.
Amélioration du formatage
Afin de favoriser la cohérence du formatage du code, JetBrains a 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.
Prise en charge du mode dry run dans l'outil de mise en forme de la ligne de commande
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.
Java
Prise en charge de Java 18
IntelliJ IDEA 2022.1 prend en charge les nouvelles fonctionnalités de Java 18, qui a été publié en mars 2022. L'EDI 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.
Décompilateur Java
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.
Meilleure prise en charge de JUnit 5
On note l'ajout la prise en charge des nouvelles fonctionnalités introduites dans JUnit 5.7, notamment celle des annotations @EnabledIf/DisabledIf, @NullSource/EmptySource et @TempDir.
Mise à jour du modèle Surround with try/catch
Le modèle Surround with try/catch mis à jour renvoie désormais une exception enveloppée dans une RuntimeException au lieu de la masquer.
Kotlin
Prise en charge de Kotlin 1.6.20
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.
Amélioration de la performance de l'EDI pour Kotlin
L'optimisation des index de paquets a considérablement augmenté la vitesse de l'EDI 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é.
Améliorations du débogueur
Cette version apporte plusieurs améliorations et modifications pour la fonctionnalité Smart Step Into lors du débogage de projets Kotlin. JetBrains a également résolu un certain nombre de problèmes concernant les points d'arrêt.
Intégration du plugin Kover
Le plugin Kover a été intégré à IntelliJ IDEA pour assurer une meilleure couverture du code Kotlin.
Groovy
Prise en charge des modèles Postfix pour Groovy
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.
Frameworks et Technologies
Prise en charge des microservices Go
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.
Amélioration de l'analyse du code pour Spring Data Mongo
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.
Meilleure prise en charge des fichiers .proto
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'EDI fournit des suggestions saisie semi-automatique pour les références de messages.
Prise en charge de la réflexion gRPC
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. Le projet ne doit pas nécessairement contenir des fichiers .proto, mais le serveur doit prendre en charge la réflexion gRPC.
Prise en charge améliorée de Thymeleaf
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'EDI 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.
Saisie semi-automatique dans les fichiers de configuration Helidon
Le framework Helidon est maintenant mieux pris en charge dans IntelliJ IDEA Ultimate. L'EDI 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.
Outils de build
Mise à jour de la barre de progression pour Gradle
On note l'ajout d'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.
Prise en charge des modules de tests distincts dans le plugin Maven compiler
JetBrains a 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.
VCS
Informations sur l'auteur du code fournies par les conseils d'insertion
JetBrains a 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.
Mise à jour d'Annotate with Git Blame
Il y a une amélioration de la fonctionnalité d'Annotate with Git Blame afin de faciliter l'examen des modifications. L'EDI 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.
Mise à jour de Commit Details dans la fenêtre d'outils Git
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.
Git File History : nouvelle interface utilisateur sans index
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.
Suggestions de modifications dans les commentaires de requêtes pull
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'EDI.
Définition d'outils de comparaison et de fusion externes en fonction du type de médias des fichiers
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.
Profileur
Configuration d'un profileur unique basé sur Async Profiler
JetBrains a implémenté IntelliJ Profiler, une nouvelle configuration du profileur. Elle combine la puissance d'Async Profiler et du Java Flight Recorder et rapproche JetBrains de son objectif d'implémenter un outil de profilage unique et exhaustif pour toutes les plateformes.
Débogueur
Reset Frame
Dans la vue Frames de la fenêtre d'outils Debugger, JetBrains a supprimé l'action Drop Frame de la barre d'outils pour la remplacer par une icône Reset Frame inline.
Libellés d'onglet masqués
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.
Autres nouveautés et améliorations
Outils d'assurance qualité
- Le plugin Selenium UI Testing a reçu une énorme amélioration pour son éditeur d'objets de page (Page Object Editor). JetBrains a optimisé le workflow et remanié l'interface utilisateur afin de réduire le nombre de distractions.
- 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.
Kubernetes
- 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.
- La fonctionnalité de transfert de port pour les pods est maintenant disponible dans la vue Services.
- Une nouvelle action Describe Resource a été introduite pour toutes les ressources dans la vue Services.
- Prise en charge de la fonctionnalité Events dans un cluster. 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.
- Une prise en charge de l'éditeur pour werf.yaml et les fichiers modèles Helm associés.
- Prise en charge des valeurs enfant importées pour Helm.
Docker
- Nouvelle interface utilisateur pour la vue Services.
- Prise en charge des cibles Docker Compose.
- Prise en charge de l'API Docker Registry HTTP V2 qui est utilisée avec Docker 1.6 et ses versions ultérieures.
Développement à distance
- Davantage de paramètres pour les serveurs distants
- Nouvelles fonctionnalités pour le client léger local
Outils de base de données
- Copie de plusieurs objets : vous pouvez désormais sélectionner plusieurs tables et les copier dans un autre schéma. Le schéma cible peut appartenir à n'importe quel SGBD de votre projet.
- Vous pouvez désormais modifier les résultats dans les collections MongoDB aussi facilement que dans les bases de données relationnelles.
- 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.
- Il est maintenant possible d'annuler des connexions sans désactiver la source de données.
Développement web
- Meilleure prise en charge de Next.js
- Prise en charge complète de Volta, un gestionnaire d'outils JavaScript.
Scala
- Améliorations de la prise en charge de Scala 3.
- Nouvel assistant de projet Scala qui rend la configuration d'un nouveau projet Scala plus facile.
- Exportations d'alias : l'éditeur traite désormais les alias de la bibliothèque standard comme des exportations transparentes, ce qui permet d'améliorer l'expérience utilisateur.
- L'inspection Unused declaration prend désormais en charge les liaisons publiques introduites par des classes, méthodes, variables, paramètres, etc. Auparavant, la détection des déclarations inutilisées était limitée aux liaisons private.
- Mises à niveau du débogueur Scala.
Intégration de Space
- Lorsque vous révisez les modifications du code dans l'EDI, vous pouvez maintenant choisir quand publier un commentaire de révision du code avec Post Now et Save as Draft.
- JetBrains a amélioré l'interface utilisateur de la révision de code en affichant les raccourcis clavier pertinents.
Nouveautés et téléchargement d'IntelliJ IDEA 2022.1
Partager