IntelliJ IDEA 2020.2 vous permet d'examiner et de fusionner les requêtes pull GitHub directement dans l'IDE, de naviguer rapidement entre les avertissements et les erreurs d'un fichier via le widget d'inspections, de voir la liste complète des problèmes du fichier actuel dans la fenêtre d'outils Problems et d'être averti·e si vos modifications risquent d'affecter d'autres fichiers. Vous pouvez utiliser Jakarta EE et obtenir une meilleure prise en charge de Quarkus, Micronaut et OpenAPI.
Bien que la sortie de Java 15 soit prévue pour septembre, IntelliJ IDEA 2020.2 y est déjà préparé. La prise en charge de la fonctionnalité Records a été mise à jour et en est maintenant à sa deuxième preview. Nous avons également ajouté un support basique pour les classes scellées. Et bien sûr, IntelliJ IDEA fournit une prise en charge complète des blocs de texte.
Si vous créez des erreurs en modifiant la signature d'une classe, d'une méthode ou d'un champ ayant des utilisations externes, l'IDE vous en informera par un conseil d'insertion. Cliquez sur le conseil d'insertion des problèmes associés et l'IDE ouvrira la fenêtre d'outil Find qui répertorie tous les problèmes associés se produisant dans les fichiers externes.
L'IDE vous permet de rechercher, et de remplacer si besoin, des blocs de code correspondant à un schéma spécifique, en utilisant Structural Search and Replace. Avec IntelliJ IDEA 2020.2, vous pouvez créer plusieurs modèles de recherche structurelle sous la forme d'inspections. Pour chaque inspection SSR, vous pouvez spécifier le niveau de sévérité, ajouter des descriptions et les activer ou les désactiver séparément.
Nous avons complété l'analyse de la trace de pile d'exceptions par l'analyse du flux de données. Lorsque vous cliquez sur la trace de pile, l'IDE peut vous emmener à l'endroit exact où une exception apparaît dans votre code et vous fait une suggestion pour vous aider à découvrir ce qu'il s'est passé.
IntelliJ IDEA 2020.2 fonctionne encore mieux avec l'API Stream. Au lieu d'avoir à taper 'stream()'
, puis à taper la bonne opération sur le flux, vous pouvez commencer à taper le nom de la méthode de flux dans la collection elle-même, et IntelliJ IDEA insérera automatiquement 'stream()'
. Cela fonctionne pour toute opération de flux.
Avec IntelliJ IDEA 2020.2, la refactorisation Introduce Variable peut remplacer sélectivement les occurrences d'une variable dans une série intermédiaire. Vous pouvez désormais choisir entre plusieurs options de remplacement et n'êtes plus limité·e à choisir entre une seule ou toutes les occurrences. L'éditeur met en évidence les occurrences qui seront remplacées par une nouvelle variable lorsque vous survolez chacun des choix.
Vous n'avez plus besoin de rechercher des modèles liés à Java car le nouveau nœud Java comprend tous les groupes plain, surround, other, output et iterations. Vous ne serez plus perdu·e en cherchant un live template qui réponde à vos besoins. Un nœud Groovy séparé est également disponible.
Nous avons ajouté la fenêtre d'outils Problèmes, qui affiche les avertissements et les erreurs liés au fichier actuel, ainsi que les descriptions des problèmes. À partir de cette fenêtre d'outils, vous pouvez faire un clic droit sur un problème pour accéder à la ligne de code où le problème a été rencontré, puis corriger les problèmes un par un avec Alt+Entrée.
Le widget d'inspections simplifie la recherche d'avertissements, erreurs et d'autres problèmes et vous permet de naviguer facilement entre ces derniers en appuyant sur F2 ou en cliquant sur les icônes fléchées. À partir du widget d'inspections, vous pouvez sélectionner les problèmes que vous souhaitez mettre en évidence : aucuns, les erreurs uniquement ou tous les problèmes.
Pour connaître les résultats possibles de l'application d'actions d'intention, vous pouvez prévisualiser leurs résultats avant de les appliquer réellement à votre code. Appuyez sur Alt+Entrée pour appeler Show Context Actions, sélectionnez l'action d'intention dont vous avez besoin, puis appuyez sur Alt+Espace sous macOS ou Ctrl+Maj+I sous Windows et Linux pour afficher l'aperçu des résultats.
Le correcteur orthographique intégré a été amélioré : il fonctionne beaucoup plus rapidement, filtre les suggestions non pertinentes et classe les suggestions valides en fonction du contexte. De plus, l'IDE détecte le langage des deux premiers paragraphes d'un fichier et suggère d'activer le modèle de langage correspondant.
Les détails des requêtes pull ouvertes sont désormais accessibles en un clic dans une fenêtre d'outils verticale distincte. La fenêtre principale de l'éditeur affiche la conversation et vous pouvez ajouter des commentaires directement. Les résultats du contrôle préalable au commit s'affichent en bas de la fenêtre. Si vous êtes autorisé à gérer les requêtes pull, vous pouvez désormais les parcourir, les attribuer et les fusionner, afficher et soumettre des commentaires, et accepter des modifications directement depuis l'IDE.
Plus d'informations sur notre blog
Pour cette version, nous avons revu la cohérence visuelle des boîtes de dialogue Merge, Pull et Rebase. Nous avons également amélioré la boîte de dialogue afin qu'elle identifie clairement les commandes Git qui seront exécutées et avons ajouté certaines options manquantes. Nous avons également ajouté --rebase
et --no-verify
aux boîtes de dialogue Pull et Merge, repectivement.
Lorsque vous comparez deux branches dans IntelliJ IDEA 2020.2, l'IDE affiche leurs commits dans une même vue en ouvrant leurs journaux dans l'éditeur. Contrairement à la fenêtre d'outil VCS, cette vue comporte suffisamment d'espace pour afficher un rapport complet sur les commits de chaque branche et les fichiers affectés.
Vous pouvez maintenant sélectionner plusieurs commits d'une branche locale pour un squash. Dans la fenêtre d'outil Git, ouvrez l'onglet Log, sélectionnez les commits locaux et choisissez Squash Commits. Si vous décidez de modifier le message de commit, toutes les modifications de ces commits seront regroupées dans un seul commit avec le message actualisé. De plus, vous pouvez désormais supprimer les commits à partir du journal Git.
IntelliJ IDEA 2020.2 vous permet d'utiliser Git installé dans WSL2 lorsque vous travaillez avec des projets de systèmes de fichiers Linux ou Windows. Lorsque vous ouvrez un projet à partir de WSL, l'IDE bascule automatiquement vers Git et vous permet d'utiliser toutes les fonctionnalités associées.
Nous sommes prêts pour la sortie de Jakarta EE 9 en septembre et prenons déjà en charge toutes les fonctionnalités disponibles pour Jakarta EE, notamment les spécifications CDI, JPA, Batch, Bean Validation, JSF, JAX-RS, WebSocket, Servlets, JSP, JSON-P, JSON-B, Security, EJB et JTA.
Si vous avez besoin de créer un projet Java EE 8 ou Jakarta EE 9, vous pouvez maintenant le faire avec notre assistant New Project. Un nouveau projet EE ne demande que quelques étapes. Configurez-le en sélectionnant la version Java, l'outil de build, les extensions et d'autres options.
Pour faciliter l'utilisation des fichiers de configuration Quarkus, l'IDE fournit désormais la saisie semi-automatique et la mise en surbrillance du code, et il grise le code inutilisé dans les fichiers de configuration .properties et YAML. De plus, vous pouvez passer directement des fichiers de configuration aux beans configurés et inversement.
Avec la version actuelle de l'IDE, vous pouvez utiliser la navigation de la gouttière pour les beans injectés et les inspections mises à jour qui fonctionnent parfaitement avec la syntaxe simplifiée de Quarkus. De plus, IntelliJ IDEA 2020.2 prend en charge les annotations @DefaultBean, @AlternativePriority et l'injection par qualificateur uniquement (pas besoin d'utiliser @Inject).
Avec la nouvelle intégration de l'interface utilisateur Swagger, il est désormais possible de prévisualiser votre OpenAPI dans un panneau intégré à l'éditeur IntelliJ IDEA. C'est une excellente mise à jour sur le plan de la simplification des tests.
L'IDE a été amélioré afin de pouvoir calculer un diff structurel entre les spécifications OpenAPI. Connaissant les spécificités de Swagger/OpenAPI, IntelliJ IDEA 2020.2 compare les fichiers JSON ou YAML en fonction de leur structure, et vous pouvez prévisualiser le diff détecté. Pour ce faire, choisissez Compare Open API Specifications dans le menu contextuel ou appelez cette action dans la boîte de dialogue Search everywhere.
Voici une autre mise à jour utile pour l'assistant New Project et le framework Micronaut. Nous avons ajouté la possibilité de créer de nouveaux projets Micronaut directement à partir de l'assistant. Configurez le projet étape par étape et commencez à travailler dessus en un rien de temps.
Si votre application Micronaut utilise une communication asynchrone via RabbitMQ ou Kafka, cette mise à jour est faite pour vous. Parcourez les files d'attente de messages et les sujets à l'aide des icônes de gouttière, la recherche des utilisations et la saisie semi-automatique pour les noms. Vous pouvez bénéficier du même ensemble de fonctionnalités pour l'API Amazon SQS.
Pour créer et tester facilement des requêtes HTTP, IntelliJ IDEA générera automatiquement des requêtes HTTP JAX-RS et MicroProfile, puis les ouvrira dans le client REST intégré. Vous pouvez même utiliser des actions d'intention pour générer des requêtes HTTP sur une URL si votre projet utilise l'un des frameworks d'entreprise : Spring, JAX-RS, Retrofit, OkHttp ou Micronaut.
Nous avons amélioré les tests REST Assured en leur ajoutant la saisie semi-automatique du code pour les références de chemin d'URL et la navigation vers les ressources associées.
Le plugin Selenium s'intègre désormais avec Selenoid et offre un moyen simple d'exécuter un nouvel environnement de test directement à partir du fichier browser.json. Toutes les images de navigateur requises seront extraites automatiquement au démarrage du conteneur Selenoid.
La mécanique améliorée de la visionneuse vous aide à analyser la pile en signalant les parties du code qui utilisent de grandes quantités de mémoire et à détecter les causes des fuites de mémoire. La visionneuse de mémoire HPROF affiche les tailles conservées calculées des objets, les chemins les plus courts vers les racines du ramasse-miettes, l'arborescence dominante pour les objets (objets conservés) et les références entrantes.
Vous pouvez désormais accélérer l'indexation en téléchargeant les index générés sur une autre machine au lieu de les construire localement. Utilisez des index partagés prédéfinis pour les JDK ou générez et distribuez des index partagés personnalisés vers un build cible de l'IDE. Installez simplement le plugin Shared Indexes. En savoir plus.
Pendant qu'IntelliJ IDEA 2020.2 indexe votre projet, vous pouvez maintenant continuer à écrire du code. L'IDE propose désormais des suggestions de saisie semi-automatique du code pour Java et PHP lors de l'indexation.
Il est désormais possible d'appeler les fonctionnalités de l'IDE directement depuis le terminal. Avec IntelliJ IDEA 2020.2, vous pouvez exécuter les commandes en surbrillance dans leur interface graphique correspondanteavec le raccourci Ctrl+Entrée / Cmd+Entrée. Si vous souhaitez exécuter les commandes en surbrillance en mode débogage, utilisez Ctrl+Maj+Entrée / Cmd+Maj+Entrée.
Vous pouvez en savoir plus sur cette fonctionnalité dans notre article de blog.
IntelliJ IDEA 2020.2 prend désormais en charge Maven Wrapper, qui installe automatiquement la version nécessaire de Maven dans votre projet. Si le Maven Wrapper est présent et configuré, l'IDE l'utilise automatiquement et importe les modifications lorsqu'elles sont requises.
Vous pouvez désormais définir une version de Maven pour chaque projet au lieu d'utiliser l'approche précédente, qui utilisait la même version de Maven pour tous les projets ouverts.
Pour offrir une expérience utilisateur plus cohérente, nous affichons maintenant la sortie de build du générateur natif d'IntelliJ IDEA dans la fenêtre de l'outil Build plutôt que dans la fenêtre de l'outil Messages.
IntelliJ IDEA 2020.2 fournit la saisie semi-automatique des noms de projet et la navigation pour les noms de projet dans les fichiers build.gradle.
Par exemple, vous pouvez maintenant convertir rapidement une boucle for avec un index numérique en une méthode de tableau forEach. La lecture des commentaires de documentation dans les fichiers JavaScript et TypeScript est également facilitée, car vous pouvez désormais les afficher directement dans l'éditeur pour minimiser les distractions.
À partir de cette version, il est désormais plus facile de définir Prettier comme outil de formatage par défaut pour mettre de l'ordre dans votre code. Cochez simplement la nouvelle case On code reformat pour que l'IDE utilise Prettier chaque fois que vous remettez en forme vos fichiers .js, .ts, .jsx et .tsx. Si besoin, vous pouvez également ajouter d'autres types de fichiers.
Nous avons ajouté la prise en charge de Nuxt.js et des paramètres de style de code spécifiques à Vue. Une excellente nouvelle si vous travaillez avec le framework Vue.js.
Cette version apporte des outils particulièrement utiles lorsque vous avez une valeur longue dans une cellule. À partir de cette version, vous pouvez afficher et modifier les valeurs longues dans un panneau séparé. Le panneau de l'éditeur possède un mode de retour à la ligne qui peut être activé ou désactivé dans la barre d'outils de droite.
Il est plus facile d'observer et de modifier les valeurs booléennes, qui s'affichent maintenant sous forme de valeurs brutes au lieu de cases à cocher. Vous pouvez taper f, t, d, n, g ou c pour entrer les valeurs correspondantes : false, true, default, null, generated et computed. Si vous tapez autre chose, vous obtiendrez une liste déroulante avec des valeurs possibles.
Vous pouvez maintenant prévisualiser une requête avec vos modifications dans l'éditeur de données. Pour ce faire, cliquez sur le bouton DML qui devient actif si des modifications sont en attente.
Nous avons ajouté une prise en charge partielle de Google BigQuery. IntelliJ IDEA met correctement en évidence les requêtes et propose une assistance au codage pour celles-ci.
Bien que vous puissiez utiliser View | Show Implicit Hints pour afficher des implicites (même ceux qui sont absents), l'importation d'un implicite n'a jamais été une tâche facile.
La nouvelle action d'importation automatique pour les implicites fonctionne exactement comme celle des références non résolues. La fenêtre contextuelle automatique rend la fonctionnalité plus détectable, mais il est également possible de désactiver cette fenêtre et d'appeler le correctif rapide Import… à l'aide du raccourci Alt+Entrée (en savoir plus).
L'ajout et la suppression d'accolades fait partie intégrante de la vie quotidienne des programmeurs Scala. Pour faciliter cette tâche, nous avons d'abord ajouté une intention permettant d'encapsuler et de désencapsuler des expressions, mais elle devait être appelée manuellement. Ensuite, nous avons pris en charge l'ajout et la suppression automatiques d'accolades complémentaires.
Nous pouvons maintenant faire encore mieux : les deux accolades sont ajoutées et supprimées automatiquement et à la volée en fonction des indentations du code. De cette façon, vous pouvez essayer d'utiliser une indentation significative tout en conservant les accolades, même dans Scala 2. Profitez de cette fonctionnalité, ne pensez plus aux accolades et laissez l'IDE faire le travail.
Dans Scala, une classe ou une caractéristique de compagnon et l'objet du compagnon ont une relation spéciale. Nous avons intégré cela depuis longtemps dans la vue Project, mais sinon, nous avions l'habitude de traiter les compagnons comme tous les autres objets ou classes.
Nous affichons maintenant des icônes de gouttière navigables pour les compagnons (configurables dans Settings | General | Editor | Gutter Icons). Vous pouvez également accéder à un compagnon en utilisant Go To sur un mot clé class
, trait
, ou object
. Les membres des objets compagnons peuvent désormais être facilement complétés ou importés automatiquement.
Le balisage Scaladoc est facile à modifier, mais il n'est pas si facile à visualiser : vous devez parcourir * les colonnes, les balises et les macros. Maintenant, nous pouvons afficher Scaladoc directement dans l'éditeur, pour le rendre clair et concis (vous pouvez alterner entre les rendus dans Editor | General | Apparence).
Nous avons également amélioré le rendu de Scaladoc dans la fenêtre contextuelle Quick Documentation – il peut désormais gérer correctement les paragraphes, les listes et les macros.
En plus d'améliorer la précision et la vitesse de la saisie semi-automatique du code, nous avons introduit deux nouvelles fonctionnalités. Tout d'abord, vous pouvez maintenant compléter automatiquement le nom de la méthode et ses arguments en une seule étape, si les valeurs appropriées sont présentes dans la portée actuelle.
Ensuite, vous pouvez maintenant appliquer une fonction « statique » à un argument en utilisant la notation par points, qui est compatible avec des types de données algébriques (ADT). Cette fonctionnalité fait partie de Hoogle Completion – notre tentative de réimaginer Hoogle dans un langage qui n'utilise pas le système de type Hindley-Milner (travail en cours).
IntelliJ IDEA 2020.2 vous permet de vous connecter en toute sécurité à Docker sous Windows car nous avons ajouté la prise en charge des connexions TLS au démon Docker d'IntelliJ IDEA.
Vous pouvez maintenant spécifier un fichier kubeconfig
personnalisé dans Preferences / Settings | Build, Execution, Deployment | Kubernetes. Sinon, cliquez sur le bouton Show Settings... dans la vue Services lors de la sélection d'un élément racine Kubernetes. Vous pouvez également spécifier un fichier kubeconfig
personnalisé soit au niveau global, soit pour un projet en cours. En d'autres termes, vous pouvez avoir un fichier kubeconfig
distinct pour chacun de vos projets.
Nous avons ajouté la saisie semi-automatique pour ConfigMaps/Secrets à partir du projet actuel et du cluster. Les éléments du cluster sont idiqués en bleu dans la liste de saisie semi-automatique. Vous pouvez maintenant naviguer d'une occurrence de ConfigMap/Secret vers la ressource ConfigMap/Secret correspondante dans le projet ou le cluster. Il en va de même pour les clés ConfigMap/Secret.