IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

IntelliJ IDEA 2021.3 est disponible :
Les nouveautés de la troisième mise à jour majeure de l'année de l'EDI Java de JetBrains

Le , par Michael Guilloux

132PARTAGES

21  0 
IntelliJ IDEA 2021.3, la troisième mise à jour majeure de l'année de l'EDI Java de JetBrains, est disponible. Cette version inaugure la prise en charge du développement à distance (en bêta) ainsi qu'un nouveau moyen de dépanner les problèmes de l'EDI grâce à l'action Repair IDE… Cette version apporte également des améliorations au débogueur, l'inspection Constant conditions pour Kotlin, ainsi que d'autres nouveautés utiles. Nous détaillons dans la suite ces fonctionnalités ainsi que d'autres nouveautés importantes introduites dans cette version.

Principales mises à jour

Développement à distance

IntelliJ IDEA Ultimate prend désormais en charge une version bêta du workflow de développement à distance de JetBrains. Il vous permet de vous connecter à une machine distante exécutant le backend d'IntelliJ IDEA depuis n'importe où dans le monde. Tout le traitement se fait sur cette puissante machine distante, et vous pouvez travailler sur votre projet de manière aussi fluide que s'il se trouvait sur votre machine locale. Cette fonctionnalité peut être lancée à partir de l'écran de bienvenue d'IntelliJ IDEA ou de la nouvelle application JetBrains Gateway, disponible dans Toolbox App.

Vous pouvez de plus créer, préparer, partager, reproduire, mettre en hibernation et gérer les environnements de développement avec Space, la plateforme unifiée de JetBrains pour l'ensemble du pipeline de développement logiciel.

Dépannage des problèmes de l'EDI

IntelliJ IDEA 2021.3 apporte un nouveau moyen, plus rapide, de diagnostiquer et de résoudre les problèmes qui nuisent au bon fonctionnement de votre EDI. Si votre EDI ne fonctionne pas correctement, utilisez la nouvelle action Repair IDE… dans le menu File. Elle vous guidera dans une séquence d'étapes pour résoudre certains des problèmes les plus courants.


Inspection Constant conditions pour Kotlin

JetBrains a ajouté la nouvelle inspection Constant conditions qui aide IntelliJ IDEA à signaler les conditions et valeurs non triviales qui sont statiquement connues pour être toujours vraies, fausses, nulles ou égales à zéro. Elle fonctionne de la même manière que l'inspection similaire pour Java, et prend en charge la plupart des vérifications associées à cette inspection. Vous trouverez cette nouvelle inspection dans Preferences/Settings | Editor | Inspections | Kotlin | Probable bugs.


Mises à jour du débogueur pour Kotlin

Smart step into
Lors du débogage d'une expression qui contient une chaîne d'appels de méthode et de lambdas, l'action Step Into fonctionne par défaut en tant que Smart Step Into. Elle met en évidence les méthodes et les lambdas accessibles. Pour l'utiliser, cliquez sur le bouton Step Into situé dans le volet supérieur de la fenêtre d'outil Debug ou utilisez le raccourci F7. L'EDI mettra alors en évidence les endroits où vous pouvez accéder au code, et vous pourrez sélectionner la ligne de votre choix en cliquant dessus.

Images de pile inline
Le débogueur peut désormais détecter les fonctions inline de Kotlin et afficher les appels de ces fonctions dans le volet de suivi de la pile. Vous pouvez naviguer vers ces appels, mais aussi inspecter et évaluer les variables dans chaque image.

Éditeur

Changement de la taille de police dans tous les onglets

Comme demandé, il est désormais possible de modifier la taille de la police dans tous les onglets ouverts simultanément avec ⌘+molette de la souris sous macOS ou Ctrl+molette de la souris sous Windows et Linux. Pour activer cette fonctionnalité, accédez à Preferences/ Settings | Editor | General, choisissez Change font size with Command + mouse wheel in, puis All editors. Si vous sélectionnez Active editor, le raccourci ne modifiera la taille de la police que dans le fichier sur lequel vous travaillez actuellement.


Amélioration de l'aperçu des intentions

IntelliJ IDEA possède une option utile qui vous permet de prévisualiser le résultat des actions d'intention et des correctifs rapides avant de les appliquer à votre code. Cette fonction est disponible dans le menu Intention actions. Pour activer l'aperçu, appuyez sur F1 sous macOS ou sur Ctrl+Q sous Windows et Linux.

Depuis son introduction dans la v2020.1, JetBrains a cherché à améliorer l'aperçu des intentions. Dans IntelliJ IDEA 2021.3, il fonctionne pour davantage d'actions d'intention et de correctifs rapides en Kotlin, et le message « Preview isn't available » a été remplacé par des descriptions HTML plus informatives des actions d'intention qui ne sont pas prises en charge. De plus, pour une action qui modifie plusieurs fichiers, l'aperçu affiche une partie d'un résultat possible. Ce résultat partiel devrait suffire à vous donner une idée générale des changements provoqués par l'action.

Amélioration de la prise en charge de Markdown

Dans IntelliJ IDEA 2021.3, il est facile de créer des tableaux. Appelez simplement le menu contextuel et sélectionnez Insert | Table. Vous pouvez ensuite sélectionner la taille souhaitée en survolant avec la souris ou à l'aide du clavier.

La largeur des cellules du tableau sera ajustée au fur et à mesure de votre saisie. Vous pouvez modifier le contenu du tableau à l'aide des barres d'outils flottantes. Pour créer une nouvelle ligne, vous pouvez utiliser Maj+Entrée, et Tab pour passer à la cellule suivante.


Expérience utilisateur

Nouvelle fenêtre d'outil Bookmarks

JetBrains inaugure une nouvelle fenêtre d'outil Bookmarks, destinée à remplacer une instance similaire, Favorites. Dorénavant, vous pouvez simplement utiliser le raccourci F3 sous macOS ou F11 sous Windows et Linux pour marquer vos fichiers, dossiers et classes comme importants.

Lorsque vous ajoutez un signet, par défaut, IntelliJ IDEA le place dans le nœud portant le nom de votre projet dans la fenêtre d'outil Bookmarks. Chaque fois que vous ajoutez un nouveau signet, il s'affiche en haut de la liste à l'intérieur de ce nœud. Vous pouvez trier vos signets par type à l'aide de l'option Sort Groups and Bookmarks dans les paramètres de la fenêtre d'outil. Vous pouvez également créer de nouveaux nœuds et y glisser-déposer des éléments.


Possibilité de diviser la fenêtre d'outil Run

Dans la v2021.3, JetBrains a ajouté la possibilité de diviser la fenêtre d'outil Run en onglets. Vous pouvez ainsi exécuter plusieurs configurations simultanément et voir tous les résultats.

Pour diviser la fenêtre, faites glisser l'onglet que vous voulez voir vers la zone en surbrillance à l'intérieur de la fenêtre d'outil Run et déposez-le à cet endroit. Pour annuler cette division, cliquez avec le bouton droit de la souris sur le volet supérieur et sélectionnez Unsplit dans le menu contextuel.


Recherche d'actions basée sur l'apprentissage automatique dans Search Everywhere

Lors de la recherche d'actions dans IntelliJ IDEA, Search Everywhere fonctionne désormais par défaut grâce à l'apprentissage automatique. JetBrains a élaboré une formule basée sur l'apprentissage automatique qui prend en compte :

  • L'historique d'utilisation des actions utilisateur.
  • La fréquence d'utilisation des actions sur l'ensemble de la base d'utilisateurs.
  • Les longueurs de la requête de recherche, du nom de l'action, etc.

JetBrains espère que les modèles basés sur l'apprentissage automatique amélioreront la qualité de vos recherches et renverront des résultats adaptés à vos besoins spécifiques.

Amélioration de Find Usages

Lorsque vous recherchez les occurrences d'une implémentation de méthode via ⌥F7 sous macOS ou Alt+F7 sous Windows et Linux, l'EDI ne demande plus si vous souhaitez trouver les occurrences de la méthode de base dans une fenêtre contextuelle. Au lieu de cela, IntelliJ IDEA utilisera les méthodes de la hiérarchie de niveau supérieur comme cibles de votre recherche par défaut. Si vous souhaitez modifier ce comportement, décochez la case Search for base method usages dans les paramètres de la fenêtre d'outil Find Usages. Vous accédez à cette dernière en cliquant sur l'icône d'engrenage.

Remaniement de Show Usages

La boîte de dialogue Show Usages a reçu plusieurs nouvelles fonctionnalités utiles. JetBrains a introduit l'aperçu du code source par occurrence trouvée. Vous pouvez l'afficher en cliquant sur l'icône carrée dans le volet supérieur de la barre d'outils. Une autre mise à jour vous permet de modifier la portée de votre recherche grâce à la nouvelle liste déroulante située à côté de l'icône Preview. De plus, la barre de titre de la fenêtre indique désormais le type d'élément de code que vous recherchez et le nombre d'occurrences trouvées.

Une autre mise à jour mineure mais très pratique vous permet de définir la largeur de la boîte de dialogue, que l'EDI conservera la prochaine fois que vous l'invoquerez.


Nœud Empty Project repensé et nouveau nœud Multi-Module Project

Dans la v2021.3, vous remarquerez quelques changements dans les nœuds de l'assistant de projet IntelliJ IDEA. Vous pouvez maintenant sélectionner le nœud Empty Project pour créer un projet de base permettant de travailler avec des fichiers séparés de différents types et d'ajouter des classes Java et Kotlin. L'EDI configurera automatiquement le projet pour que vous puissiez le compiler si des classes Java ou Kotlin sont présentes.

Le nouveau nœud Multi-Module Project vous permet de créer un projet utilisant une structure complexe de A à Z. Une fois le projet créé, la boîte de dialogue Project Structure s'ouvre, et vous pouvez y ajouter des modules.

Mises à jour d'accessibilité

IntelliJ IDEA 2021.3 travaille sur certains problèmes d'accessibilité afin d'améliorer le confort du travail avec le lecteur d'écran. En réponse à la demande des utilisateurs, JetBrains a désactivé la fenêtre contextuelle du widget de la fenêtre d'outil et celle de la documentation rapide, qui s'affichaient au survol de la souris. L'éditeur de logiciels pour développeurs a également corrigé un problème concernant l'appel de la boîte de dialogue Go to Declaration.

Dans cette version, la prise en charge de l'accessibilité sur macOS a également été améliorée. JetBrains a corrigé plusieurs problèmes liés au focus de VoiceOver et rendu possible la détection des éléments d'une liste dans l'assistant New Project à l'aide d'un lecteur d'écran lors de la création de projets. Pour minimiser les distractions pendant que vous codez, JetBrains a réduit le nombre d'infobulles d'aide qui émettent des sons.

Java

Inspection pour le suivi des chaînes de caractères non sécurisées

IntelliJ IDEA vous avertit désormais des dangers tels que les failles d'injection SQL et XSS, les fuites de données sensibles et la désérialisation non sécurisée. Il vous empêche également de transmettre des données non sécurisées à des méthodes sécurisées. Ces avertissements supplémentaires sont lancés par notre nouvelle inspection Non-safe string is passed to a safe method.

Pour que cette inspection fonctionne, vous devez annoter les chaînes de caractères à l'aide de @Untainted (« sûre ») ou de @Tainted (« non sûre »). Ces annotations deviendront valides à l'ajout de la dépendance org.checkerframework.​checker.​tainting.​qual.

Autres nouvelles inspections Java

JetBrains a ajouté deux inspections afin de vous aider à simplifier votre code. La première suggère de remplacer collect(toList()) par .toList(). Vous pouvez l'utiliser avec les versions 16 et supérieures de Java. Une autre inspection vous invite à remplacer collection.addAll(List.of("x") par collection.add(x), et map.putAll(Map.of("a", "b") par map.put("a", "b".

Refactorisations améliorées

Lorsque vous introduisez une variable locale en Java, les paramètres qui lui sont applicables n'apparaissent plus dans une fenêtre contextuelle (elle s'affichait auparavant par-dessus le code que vous étiez en train d'écrire). Au lieu de cela, vous pouvez accéder à ces options en cliquant sur l'icône d'engrenage située à côté d'une variable ou en utilisant le raccourci ⌥⇧O sous macOS ou Alt+Maj+O sous Windows.

JetBrains a également amélioré la refactorisation Introduce parameter. Lorsque vous invoquez cette refactorisation, avec ⌥⌘P sous macOS ou Ctrl+Alt+P sous Windows et Linux, l'EDI vous demande où vous voulez remplacer les occurrences. Quand vous avez répondu, une icône en forme d'engrenage s'affiche. En cliquant dessus, vous accédez à d'autres paramètres pour cette refactorisation.


Possibilité de personnaliser le chemin d'accès aux classes dans Run/Debug Configurations

Il est parfois nécessaire de définir des chemins de classe personnalisés dans la boîte de dialogue Run/Debug Configurations, différents en fonction de la configuration. À partir de cette version, vous pouvez le faire en cliquant sur Modify options | Modify classpath.


Kotlin

Refactorisation Extract constant

JetBrains introduit une nouvelle refactorisation qui vous permet d'extraire des constantes en Kotlin. Pour l'utiliser, placez le curseur sur une chaîne de caractères et appuyez sur ⌥⌘C sous macOS ou Ctrl+Alt+C sous Windows et Linux.

Amélioration de l'inspection Possibly blocking call in non-blocking context

L'inspection Possibly blocking call in non-blocking context vous avertit si vous utilisez une coroutine dans le mauvais contexte. Dans cette version, l'inspection fonctionne non seulement comme un avertissement mais aussi comme un correctif rapide tenant compte du contexte.

JetBrains y a en outre apporté quelques autres améliorations. Cette inspection couvre désormais davantage de cas, et vous pouvez la personnaliser afin d'améliorer son fonctionnement dans le contexte particulier de votre environnement.

Indications inline pour les plages

Il peut être difficile de comprendre les différentes façons de déclarer les plages prises en charge par Kotlin. Pour vous faciliter la tâche, JetBrains a ajouté des indications inline qui expliquent, à l'aide de signes mathématiques simples, la signification des mots ou des symboles dans ces plages. Si vous n'avez pas besoin de cette fonctionnalité, vous pouvez facilement la désactiver en cliquant droit sur une indication, puis en sélectionnant Disable 'Ranges' hints type.

Amélioration de l'assistant New Project

JetBrains a remanié la mise en page de l'assistant New Project en ajoutant des infobulles pour tous les champs. Elles vous permettent de comprendre facilement les informations requises. La section des modèles a également été actualisée. L'éditeur de logiciels pour développeurs a supprimé certains modèles peu populaires et ajouté un nouveau modèle qui vous permet de créer une application web Compose.

Enfin, JetBrains a considérablement simplifié l'étape de configuration du projet. Il ne vous reste plus qu'à compléter les champs de base.


Scala

Améliorations de la prise en charge de Scala 3

Cette version s'est principalement concentrée sur la prise en charge de Scala 3. JetBrains a ajouté la mise en évidence, la navigation et la saisie semi-automatique pour les marqueurs end. La saisie semi-automatique concerne désormais également les mots-clés given, using et export, les mots clés logiciels et la syntaxe silencieuse. Le lecteur TASTy peut maintenant analyser les package objects, ainsi que la variance et les limites dans les types de genre supérieur. La mise en évidence des erreurs des analyseurs lexicaux et généraux est désormais beaucoup plus rapide. Un plus grand nombre d'inspections sont compatibles avec Scala 3. JetBrains a amélioré la résolution des importations given et pris en charge les membres de niveau supérieur final et les abstract lazy vals.

Option pour ouvrir les projets de compilation croisée Scala 3/Scala 2 en tant que Scala 2

De nombreux projets qui doivent être compilés à la fois pour Scala 2 et Scala 3 sont modélisés en tant que projets Scala 3 avec compilation croisée pour Scala 2, même si, techniquement, il s'agit de projets Scala 2.

L'ouverture de tels projets en tant que Scala 2 permet à l'EDI d'utiliser la bonne version de Scala, et s'avère plus fiable.

Analyse des flux de données pour Scala

Le plugin Scala prend désormais en charge l'analyse du flux de données, qui peut vous aider à détecter plus facilement les erreurs de programmation.

Saisie semi-automatique pour les options du compilateur Scala

Il existe une multitude d'options différentes dans le compilateur Scala. Très peu de programmeurs les connaissent par cœur. En outre, ces options varient en fonction de la version de Scala utilisée. Vous pouvez maintenant compléter automatiquement les options applicables et même afficher la documentation rapide pour chacune d'entre elles.

Conseils d'incrustation pour les plages

Vous êtes-vous déjà demandé si la plage de 1 to 3 était inclusive ou exclusive ? Et qu'en est-il de 1 until 3 ? Ou Range(1, 3) ? Oubliez vos doutes, à partir de maintenant, la réponse est claire.


JavaScript

Nouvelle inspection pour la mise à jour des dépendances

IntelliJ IDEA 2021.3 vous permet de mettre à jour vos paquets npm vers la dernière version directement depuis l'éditeur. Ouvrez votre fichier package.json, placez le curseur sur la version du paquet que vous souhaitez mettre à jour, puis appuyez sur ⌥⏎ sous macOS ou Alt+Entrée sous Windows et Linux et sélectionnez Update ‘nom du paquet’ to the latest version. Un correctif rapide s'affiche également lorsque vous survolez la version du paquet avec votre souris.


Amélioration de la saisie semi-automatique du code HTML

JetBrains a amélioré le mode de fonctionnement de la saisie semi-automatique du code en HTML. Chaque fois que vous saisissez un nom de balise ou une abréviation dans l'éditeur, ou que vous invoquez la saisie semi-automatique du code, IntelliJ IDEA affiche immédiatement des suggestions pertinentes. Auparavant, il ne les montrait que si vous commenciez par saisir <. De plus, la saisie semi-automatique du code pour les références aux entités de caractères devrait mieux fonctionner à présent.

SSH

Prise en charge d'un proxy pour les connexions SSH

Cette nouvelle fonctionnalité très attendue vous permet de spécifier un serveur proxy HTTP ou SOCKS pour votre configuration SSH dans Preferences/Settings | Tools | SSH Configurations. Dans la nouvelle section HTTP/SOCKS Proxy, vous pouvez sélectionner le type de proxy, indiquer un nom d'hôte et un port et, si nécessaire, appliquer une authentification avec identifiant et mot de passe. Il est également possible de synchroniser vos paramètres de proxy SSH avec les paramètres généraux de l'EDI. Pour ce faire, cochez la case Use global IDE proxy settings.


Profileur

Comparaison des instantanés .jfr

Vous pouvez maintenant vérifier facilement si les modifications que vous avez apportées ont fonctionné pour votre programme ou si elles ont provoqué une régression. Il suffit pour cela d'ouvrir deux instantanés à comparer dans la fenêtre d'outil Profiler. Dans l'instantané le plus récent, cliquez sur l'icône diff et sélectionnez l'instantané que vous utiliserez comme référence. L'EDI affichera le résultat sous la forme d'un graphique de flamme, d'une arborescence d'appels ou d'une liste de méthodes.


Prise en charge du profileur Async Profiler 2.0 sous Windows

Dans la v2021.2, JetBrains a ajouté la prise en charge d'Async Profiler 2.0 aux versions macOS et Linux d'IntelliJ IDEA. À partir de la version 2021.3, la version Windows prend également en charge Async Profiler 2.0. Cette prise en charge fluidifie l'expérience de profilage et améliore l'affichage des fonctions natives dans les instantanés.

Outils de build

Configurations Maven repensées

Cette version prend quelques mesures pour améliorer nos configurations Run/Debug, et cette fois, les configurations Maven ont été considérablement remaniées. Les paramètres principaux sont tous regroupés sur un seul écran, tandis que des options supplémentaires sont disponibles via Modify options.

Prise en charge de .mvn/maven.config

Si vous souhaitez configurer les paramètres Maven pour chaque projet dans le fichier .mvn/maven.config, accédez à Preferences/ Settings | Build, Execution, Deployment | Maven et cochez Use settings from .mvn/maven.config en bas de l'écran. N'oubliez pas que les paramètres de ce fichier remplaceront les paramètres standard de l'interface utilisateur de Maven.


Contrôle de version

Checkout and Rebase onto Current pour les branches distantes

Pour extraire la branche sélectionnée et la rebaser sur une branche actuellement extraite, vous pouvez utiliser l'action Checkout and Rebase onto Current, qui n'était auparavant disponible que pour les branches locales. Dans IntelliJ IDEA 2021.3, vous pouvez aussi l'utiliser pour les branches distantes.

Réorganisation des configurations VCS

JetBrains a amélioré la structure des paramètres dans Preferences/Settings | Version Control pour y rendre certaines configurations critiques plus accessibles. Le nœud Version Control sert maintenant de point de départ pour la navigation, avec des liens vers tous les paramètres disponibles. Si vous accédez au nœud Git à partir de là, vous remarquerez que JetBrains a divisé tous les paramètres en sections correspondant aux processus les plus importants : Commit, Push, et Update. De plus, à l'intérieur de ces sections, les paramètres sont maintenant organisés de façon plus logique. JetBrains a également ajouté un nœud Directory mappings distinct, et les opérations en arrière-plan sont maintenant activées par défaut. Le nœud Background n'existe plus.


Nouvelle fenêtre d'outils Changes

À partir d'IntelliJ IDEA 2021.3, votre EDI affiche la différence entre les commits dans une fenêtre d'outil Changes séparée, située à gauche de l'éditeur.

Nouvelle action Push All up to Here

Une nouvelle action vous permet de n'envoyer en push que les commits sur lesquels il n'y a plus de doute, et de garder le reste pour plus tard. Elle envoie les commits en push jusqu'à celui que vous avez sélectionné dans l'onglet Log de la fenêtre d'outil Git. Pour l'utiliser, choisissez le commit auquel vous voulez vous arrêter, cliquez droit pour appeler le menu contextuel, et sélectionnez la nouvelle action Push All up to Here.

Alignement des modifications mises en évidence

Une nouvelle option Align Changes Highlighting figure dans les paramètres de l'écran Diff que vous trouverez sous l'icône d'engrenage. Cette fonction facilite la lecture sur la vue Diff, surtout en cas de modifications complexes, car elle aligne les lignes inchangées de manière à les afficher face à face. Cela vous permet de voir plus clairement le code ajouté ou supprimé.


Terminal

Prise en charge de ConPTY sous Windows

Dans la version 2021.3, JetBrains a introduit la prise en charge de la nouvelle API ConPTY sous Windows. Elle résout plusieurs problèmes concernant l'ancienne implémentation, qui reposait sur winpty, et ajoute la prise en charge des couleurs 24 bits dans le terminal.

Prise en charge de Typeahead

La récente prise en charge de typeahead dans le terminal IntelliJ IDEA prédit les modifications de texte et les affiche instantanément en gris clair. Cette fonction vous permet de garder la même rapidité de saisie dans le terminal, que vous travailliez sur une machine locale ou distante.

Débogueur

Évaluer les expressions à partir du débogueur

Dans cette version, JetBrains a amélioré la détectabilité de la fonctionnalité Evaluate. Auparavant, lorsque les utilisateurs avaient besoin d'évaluer quelque chose, beaucoup avaient recours à des surveillances. Ils créaient simplement une surveillance, puis la supprimaient, au lieu d'utiliser la boîte de dialogue Evaluate. Le champ Evaluate est désormais accessible depuis la fenêtre d'outil Debug, et devient donc le moyen le plus pratique et le plus évident d'évaluer des expressions.


Frameworks et technologies

Requêtes gRPC dans le client HTTP

Le client HTTP d'IntelliJ IDEA offre une prise en charge de base des requêtes gRPC. Lorsque vous saisissez le mot clé gRPC pour débuter votre requête, le client HTTP vous propose la saisie semi-automatique du code. Ainsi, votre EDI affiche des invites pour tous les services gRPC connus, les méthodes unaires et de flux serveur d'un serveur particulier et, surtout, les champs du corps de la requête.

Une autre nouvelle fonctionnalité vous permet de générer une requête gRPC dans le client HTTP. Pour cela, il suffit de cliquer sur les icônes de la gouttière dans vos fichiers .proto.


Réponses binaires dans le client HTTP

Le client HTTP peut détecter les images dans les réponses et en afficher un aperçu dans la console de réponse.

Prise en charge des flux de texte et des flux JSON dans le client HTTP

Lorsque vous testez des applications de streaming dans IntelliJ IDEA, vous n'avez plus besoin d'attendre la fin d'un flux : le client HTTP affiche la sortie à la volée. C'est désormais possible, car JetBrains a ajouté la prise en charge des types de contenu suivants : text/event-stream, application/stream+JSON et application/x-ndjson. Une notification vous est également envoyée à la fin d'un flux.

Redirection de la sortie vers un fichier ou un répertoire personnalisé dans le client HTTP

Dans le client HTTP, il est possible de rediriger la sortie vers un fichier ou un répertoire personnalisé. Vous pouvez utiliser deux opérateurs pour les redirections forcées et logicielles :

  • L'opérateur >> crée toujours un nouveau fichier, en ajoutant un suffixe -n au nom du fichier si le nom demandé existe déjà.
  • L'opérateur >>! réécrit le fichier s'il existe déjà.

Prise en charge des identificateurs de requêtes HTTP

Vous pouvez ajouter des identificateurs de requête soit sous forme de commentaires via @nom, soit sous forme de texte dans le premier séparateur (###). L'EDI comprend ces identificateurs et vous permet d'invoquer des requêtes via ces derniers à partir de la fenêtre d'outil Services, ainsi qu'à partir des boîtes de dialogue Run Configuration, Run Anything et Search Everywhere.

Prise en charge du langage de modèle Qute

Qute fait désormais partie des langages de modèles pris en charge. Cela signifie qu'IntelliJ IDEA fournit la mise en évidence du code, la saisie semi-automatique et d'autres fonctions utiles pour vous aider à développer des modèles pour votre projet Quarkus.

Résolution et saisie semi-automatique des références à partir des fichiers de spécifications secondaires

IntelliJ IDEA peut détecter si vos spécifications OpenAPI sont situées dans plusieurs fichiers et liées via $ref, et fournir la saisie semi-automatique.

Nouvelles annotations Blocking et Non-blocking pour le code réactif

JetBrains a effectué 2 ajouts à sa collection d'annotations. Une fois que vous avez ajouté « org.jetbrains:annotations:23.0.0 » aux dépendances de votre projet, vous pouvez annoter vos classes et méthodes à l'aide de @Blocking ou @NonBlocking. Cela permettra à l'EDI de détecter les appels bloquants dans des contextes non bloquants, comme les coroutines Kotlin ou le code réactif avec Project Reactor, RxJava et SmallRye Mutiny.

De plus, l'EDI prend automatiquement en charge les annotations correspondantes de Micronaut et SmallRye Mutiny.

Amélioration de la détection du code bloquant dans Spring et Java EE

IntelliJ IDEA détecte désormais davantage de cas de code bloquant dans Spring et Java EE, notamment JpaRepository et CrudRepository de Spring Data, RestTemplate et JdbcTemplate, les méthodes de l'interface Spring Feign, les appels JPA EntityManager, ainsi que toutes les méthodes et classes annotées @Transactional.

Remaniement des configurations Spring Boot

JetBrains a remanié la boîte de dialogue Run/Debug Configurations pour les projets Spring Boot. La logique est similaire aux configurations précédemment mises à jour pour Java. La nouvelle interface centralise les principaux paramètres sur un seul écran et vous permet de configurer le reste des paramètres via Modify Options.

Amélioration de la prise en charge des fichiers d'application Spring Boot

IntelliJ IDEA propose désormais la saisie semi-automatique du code dans les fichiers de configuration supplémentaires (fichiers de propriétés ou .yaml) lorsqu'une clé spring.config.import est utilisée pour référencer un autre fichier. Il est également plus efficace pour mettre en place des fichiers de configuration Spring Boot complexes et personnalisés.

Références à application.yaml

Pour les projets Spring Boot, l'EDI prend désormais en charge la saisie semi-automatique du code et la recherche d'occurrences (Find Usages) pour les références à application.yaml à partir de @Value, @Scheduled et Environment.getProperty().

Meilleure prise en charge pour @NamedQuery utilisé à partir des référentiels Spring Data

La saisie semi-automatique de méthode de requête fonctionne désormais pour les requêtes déclarées à l'aide de @NamedQuery dans les projets Spring Data JPA. Vous pouvez également naviguer vers la définition d'une @NamedQuery via l'icône de la gouttière.

Prise en charge de Kotlin pour Java EE CDI

À partir de la v2021.3, vous pouvez utiliser toutes les inspections CDI dans les fichiers Kotlin. Ces inspections ne fonctionnaient auparavant que dans les fichiers Java. De plus, JetBrains a ajouté des icônes de gouttière CDI dans les fichiers Kotlin. Elles vous permettent de naviguer facilement vers les points d'injection ou les candidats à l'injection, les bean makers, les méthodes de rejet et les événements.

Diagrammes de classes UML améliorés

JetBrains a accéléré tous les processus pour les diagrammes de classe UML, en Java comme en Kotlin. L'ouverture des diagrammes, le passage d'une catégorie à l'autre, le zoom et la fonction annuler/rétablir prennent désormais beaucoup moins de temps. Les autres changements notables incluent une nouvelle grille, la mise en évidence des membres et une fenêtre contextuelle d'aperçu de la documentation rapide. Si vous devez contrôler l'apparence du diagramme, utilisez le menu contextuel et sélectionnez Appearance.

Outils de base de données

Agrégation dans l'éditeur de données

JetBrains a ajouté la possibilité d'afficher une vue Aggregate pour une plage de cellules. Cette fonctionnalité très attendue vous permettra de gérer vos données et vous épargnera l'écriture de requêtes supplémentaires. Cela rend l'éditeur de données encore plus puissant et simple d'utilisation, et le rapproche encore un peu plus d'Excel et des feuilles de calcul Google.

Sélectionnez simplement la plage de cellules pour laquelle vous voulez afficher la vue, puis cliquez droit et sélectionnez Show Aggregate View.

Mappage de la source de données DDL et de la source réelle

Cette version est une suite logique de la précédente, qui a inauguré la possibilité de générer une source de données DDL basée sur une source réelle. Désormais, ce workflow est totalement pris en charge. Vous pouvez :

  • Générer une source de données DDL à partir d'une source réelle.
  • Mapper une source de données DDL et une source réelle.
  • Comparer et synchroniser ces sources dans les deux sens.

Pour rappel, une source de données DDL est une source de données virtuelle dont le schéma repose sur un ensemble de scripts SQL. Le stockage de ces fichiers dans le système de contrôle de version (VCS) est une méthode possible pour conserver votre base de données dans ce système.

Les propriétés de configuration des données comportent un nouvel onglet, DDL mappings, permettant de définir quelle source de données réelle est mappée à chaque source de données DDL.


Niveaux d'introspection

JetBrains inaugure trois niveaux d'introspection pour les bases de données Oracle :

  • Niveau 1 : noms de tous les objets pris en charge et leurs signatures, à l'exception des noms de colonnes d'index et des variables de paquets privés.
  • Niveau 2 : tout, à l'exception du code source.
  • Niveau 3 : tout.


L'introspection est la plus rapide au niveau 1 et la plus lente au niveau 3. Vous pouvez utiliser le menu contextuel pour basculer entre les niveaux d'introspection selon vos besoins.

Vous pouvez aussi définir le niveau d'introspection soit pour un schéma, soit pour l'ensemble de la base de données. Les schémas héritent de leur niveau d'introspection de la base de données, mais ils peuvent également être configurés de façon indépendante.

Le niveau d'introspection est représenté par les icônes en forme de pilule, près de l'icône de source de données. Plus la pilule est remplie, plus le niveau d'introspection est élevé. Une icône bleue signifie que le niveau d'introspection est configuré directement, tandis qu'une icône grise signifie qu'il est hérité.

Outils d'assurance qualité

Modifier les objets des pages Selenium

Une mise à jour importante a permis de prendre en charge l'automatisation des tests d'interface utilisateur dans Selenium. L'éditeur visuel vous permet désormais de maintenir les classes des objets des pages existantes. Auparavant, il était seulement possible de générer de nouvelles classes d'objets de page. Vous êtes désormais en mesure de mettre à jour les classes d'objets de pages existantes directement, sans éditeur visuel. IntelliJ IDEA détectera automatiquement les classes d'objets de la page et les indiquera par une icône correspondante dans le volet de la gouttière. En cliquant sur ce volet de gouttière, vous pouvez ouvrir un éditeur visuel et y récupérer de nouveaux éléments à ajouter à la classe d'objets de la page.

Données de test

Le dernier plugin du Test Automation Kit a reçu quelques correctifs de bugs mineurs, mais également une fonctionnalité utile dans les paramètres de générateur de données multiples. Vous pouvez maintenant modifier le préfixe, le suffixe et le délimiteur avec une définition multiligne.

Gestion des tests

Hiérarchie d'exécution des tests
JetBrains a implémenté la prise en charge des tests à plusieurs niveaux. Vous pouvez désormais créer plusieurs cycles de test enfants pour des domaines de fonctionnalité ou des types de test spécifiques. Chaque exécution de test parente regroupe les résultats des exécutions de test enfants et fournit des statistiques récapitulatives de toutes les exécutions de test enfants associées.

Étapes partagées
Si vous choisissez de gérer les cas de test dans des fichiers Markdown à l'aide de la fonctionnalité « Local TMS », vous pourrez facilement déclarer des étapes de test et les partager entre plusieurs cas de test. Les étapes partagées sont déclarées comme un cas de test ordinaire avec un identifiant numérique unique. Vous pouvez faire référence à ce cas de test dans d'autres cas de test. IntelliJ IDEA substituera les étapes du cas de test référencé lors de la génération des aperçus, des exécutions de test ou des modèles de code pour un test automatique.

Kubernetes

Amélioration de la mise en forme pour les modèles Helm

Vous pouvez mettre en forme vos modèles Helm avec la certitude que le résultat sera correct. JetBrains a corrigé tous les problèmes associés, et la mise en forme est maintenant beaucoup plus fiable. Pour voir l'amélioration, accédez à Code | Reformat code ou Reformat file ou appuyez sur &#8997;&#8984;L sous macOS ou Ctrl+Alt+L sous Windows et Linux.

Mise en évidence des éléments de blocs dans les modèles Helm

JetBrains a aussi ajouté la mise en évidence d'éléments de bloc tels que if, else, range, with et define dans les modèles Helm. Il est ainsi beaucoup plus facile de travailler avec du code contenant des inclusions de modèles Go.

Injection de langage dans les ressources ConfigMap

IntelliJ IDEA prend désormais en charge les injections de code automatiques de divers langages dans les ressources ConfigMap pour les clés comportant des extensions telles que .yaml, .json, .properties, etc. Les morceaux de code injectés sont mis en évidence en vert, et il est possible d'utiliser notre fonctionnalité d'analyse du code à l'intérieur de ceux-ci, avec entre autres la saisie semi-automatique du code et la mise en évidence des erreurs.

Possibilité de répéter la dernière commande

Il est maintenant possible de réexécuter votre dernière commande helm depuis la fenêtre d'outil Services. Il vous suffit de cliquer sur la nouvelle icône en haut à droite. Par exemple, vous exécutez la commande helm lint. Après son exécution, vous pouvez cliquer sur l'icône pour l'exécuter une nouvelle fois.

Docker

Connexion à Docker depuis Minikube

Il est maintenant facile de se connecter à un daemon Docker à partir de Minikube. Dans Preferences/ Settings | Build, Execution, Deployment, cochez la case d'option Minikube. Dans le champ adjacent, l'EDI affichera automatiquement les environnements docker-daemon de Minikube détectés que vous pouvez utiliser pour vous connecter.

Processus de connexion facilité

La connexion à Docker s'est accélérée, car il suffit de double-cliquer sur le nœud nécessaire ou d'utiliser un nouveau raccourci : &#8984;Entrée sous macOS ou Ctrl+Entrée sous Windows et Linux. Vous pouvez aussi appeler l'action Start container à l'aide de ce raccourci.

Nouvelle action Clean up

La nouvelle action Clean up fonctionne de la même façon que la commande prune du terminal. Lorsque vous cliquez droit sur le nœud Networks, Volumes, Containers, ou Images, vous pouvez sélectionner Clean up : l'EDI supprimera les objets inutilisés. Vous pouvez également appliquer cette action au nœud racine de Docker pour éliminer tous les objets inutiles d'un seul clic.

Prise en charge de Compose V2

IntelliJ IDEA prend en charge Compose V2, ce qui vous permet d'exécuter les commandes Docker Compose sous la forme docker compose, au lieu de docker-compose (avec un tiret). Pour activer cette option, accédez à Preferences/Settings | Build, Execution, Deployment | Docker | Tools et cochez la case Use Compose V2.

Calques d'image

Les calques d'images permettent de suivre toutes les commandes qui sont appliquées aux images. Pour y accéder, sélectionnez une image et accédez à l'onglet Layers. À partir de cet onglet, lorsque vous choisissez une commande, vous pouvez cliquer sur le lien Analyze image for more information sur le côté droit de l'écran pour obtenir des informations plus détaillées sur les modifications appliquées à chaque calque.


Enregistrement du conteneur en tant qu'image

Si vous disposez d'un conteneur préconfiguré que vous souhaitez utiliser ultérieurement, vous pouvez l'enregistrer localement en tant qu'image et l'envoyer en push pour continuer à l'utiliser à distance lorsque vous en avez besoin. Accédez à la fenêtre d'outil Services, cliquez droit sur le conteneur, et sélectionnez Image | Save as a new Image.

Mises à jour du registre

JetBrains a apporté plusieurs modifications au registre Docker. Tout d'abord, l'EDI affiche désormais tous les registres disponibles dans des nœuds séparés dans la fenêtre d'outil Services. Auparavant, la prise en charge était limitée au registre Docker Hub. Dans la version 2021.3, JetBrains a ajouté la prise en charge de GitLab (registry.gitlab.com) et JetBrains Space (identifiant.registry.jetbrains.space).


Vous pouvez développer les nœuds de registre dans la fenêtre d'outil Services, sélectionner l'image nécessaire et l'extraire vers l'emplacement souhaité. Si vous avez plusieurs connexions Docker, l'EDI vous demandera d'où extraire l'image. Il est possible d'envoyer en push des images vers n'importe quel registre ajouté, et dans la boîte de dialogue Push, l'EDI détecte automatiquement les espaces de noms disponibles dans le registre donné et vous permet d'en sélectionner un dans la liste déroulante.

Dernier ajout, mais non des moindres, vous pouvez utiliser la saisie semi-automatique pour les images des registres JetBrains Space, GitLab et Docker Hub

Prise en charge de Podman

IntelliJ IDEA prend désormais en charge Podman comme moyen alternatif de gérer les pods, les conteneurs et les images. Avant d'utiliser Podman dans l'EDI, configurez une connexion vous-même. Une fois Podman installé et configuré sur votre système d'exploitation, vous pouvez vous y connecter via Preferences/Settings | Build, Execution, Deployment | Docker en cochant la case d'option TCP socket et en remplissant les champs requis.

Intégration de Space

Créer des requêtes de fusion et des révisions de code à partir de l'EDI

Vous pouvez désormais créer des requêtes de fusion et des révisions de code pour vos projets dans Space. Vous avez deux possibilités :

  • Cliquez sur l'icône + de la barre d'outils supérieure de la fenêtre d'outil Code Reviews et sélectionnez l'action souhaitée.
  • Dans l'onglet Log de la fenêtre d'outil Git, cliquez droit sur le commit dans la liste et choisissez Space | Create merge request ou Create code review.


Signaler les fichiers comme vus

Tous les fichiers que vous n'avez pas encore révisés lors d'une révision de code resteront signalés par des points bleus jusqu'à ce que vous les ouvriez. De cette façon, vous ne raterez aucune modification critique. Si vous voulez revenir aux modifications plus tard, vous pouvez sélectionner Mark as Not Viewed dans le menu contextuel. Cette fonctionnalité fonctionne également pour les requêtes d'extraction GitHub.

Autre

IntelliJ IDEA prend désormais en charge Android Studio Arctic Fox, 2020.3.1.
JetBrains a aussi ajouté la prise en charge de Groovy 4, avec notamment une analyse complète du code, des inspections fonctionnelles et des actions d'intention. D'autres fonctionnalités, telles que les expressions switch et les types scellés, sont également prises en charge.

Nouveautés et téléchargement d'IntelliJ IDEA 2021.3

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de calvaire
Expert éminent https://www.developpez.com
Le 02/12/2021 à 20:44
Citation Envoyé par Mister Nono Voir le message
Marre de ce produit pourtant très bien. Il faut être expert IntelliJ pour pouvoir appréhender correctement cet EDI.

En effet, des fonctions triviales avec Eclipse ou Spring Tools Suite deviennent une usine à gaz avec Jetbrains : vraiment dommage...

En plus, cet EDI n'a même pas la politesse de fournir le langage de ses utilisateurs, en l’occurrence le français ici.


A+

c'est du troll ou c'est de vrai reproche ?

Il y'a très peu d'ide de traduit en Français (eclipse ne l'est pas), peu d'outils pro d'ailleurs le sont (vmware...)
Pour ma part je trouve qu'Eclipse aussi est une vrai usine a gaz, les 2 ont des points positifs et des points négatifs. Concernant ta remmarque de "il faut etre expert" oui et non, on peut utiliser les fonctions de base facilement quand meme (choix de la jvm, integration avec maven, git...)

et cette remarque est valable pour tous les gros ide usine a gaz: eclipse ou visual studio faut etre expert pour maitriser complètement ces outils
5  1 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 03/12/2021 à 2:30
Une fois la période de formation passée, la majorité des professionnels s'accordent à dire que le meilleur EDI c'est clairement celui de Jetbrains, et c'est clairement devenu le standard en entreprise.
Eclipse reste pas mal et garde sa place de bon 2eme, c'est l'utilisation de NetBeans qui s'est surtout totalement écroulée depuis des années.

3  0 
Avatar de Mister Nono
Membre chevronné https://www.developpez.com
Le 03/12/2021 à 14:06
Citation Envoyé par marc.collin Voir le message

...toujours été du eclipse (qui s'est pas mal améliorer)

mais tous reste lourd
La version Spring Tools Suite d'Eclipse est quand même pas mal du tout.
1  0 
Avatar de Mickael_Istria
Membre expert https://www.developpez.com
Le 06/12/2021 à 9:06
Citation Envoyé par calvaire Voir le message
Il y'a très peu d'ide de traduit en Français (eclipse ne l'est pas)
Eclipse IDE est traduit en francais, et bien d'autres langues. Tu peux telecharger les traductions sur https://www.eclipse.org/babel/downloads.php (c'est mentionne dans la FAQ de developpez d'ailleurs) et la base de donnee si tu veux contribuer des traductions c'est https://babel.eclipse.org/babel/login_oauth.php .
1  0 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 03/12/2021 à 14:02
j'ai une licence pour intellij idea, mais j'utilise plus souvent netbeans tout dépendant des projets.

depuis quelques versions sur certain projet, j'avais un crash de l'ide... assez fatigant.

sinon dans mon présent mandat, c'est la première fois que je rencontre intellij idea en entreprise.... toujours été du eclipse (qui s'est pas mal améliorer)

mais tous reste lourd

j'aime pas trop la gestion multiprojet d'intellij idea comparativement à l'approche d'eclipse.... ma version intellij idea date de 1 ans... c'est peut-être mieux maintenant
0  0 
Avatar de calvaire
Expert éminent https://www.developpez.com
Le 06/12/2021 à 9:22
Citation Envoyé par Mickael_Istria Voir le message
Eclipse IDE est traduit en francais, et bien d'autres langues. Tu peux telecharger les traductions sur https://www.eclipse.org/babel/downloads.php (c'est mentionne dans la FAQ de developpez d'ailleurs) et la base de donnee si tu veux contribuer des traductions c'est https://babel.eclipse.org/babel/login_oauth.php .
je ne savais pas merci, même si perso les logiciels en anglais ne m'ont jamais dérangé.
au contraire même, vu que la plupart des tutos sont en anglais, c'est plus facile de suivre les tutos je trouve en anglais.

après c'est des options donc qui peu le plus peu le moins comme on dit.
0  0 
Avatar de Mister Nono
Membre chevronné https://www.developpez.com
Le 02/12/2021 à 18:37
Marre de ce produit pourtant très bien. Il faut être expert IntelliJ pour pouvoir appréhender correctement cet EDI.

En effet, des fonctions triviales avec Eclipse ou Spring Tools Suite deviennent une usine à gaz avec Jetbrains : vraiment dommage...

En plus, cet EDI n'a même pas la politesse de fournir le langage de ses utilisateurs, en l’occurrence le français ici.


A+
1  6