Nouveautés dans IntelliJ IDEA 2020.2

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.

Java

Prise en charge de Java 15

Prise en charge de Java 15

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.

Assistant Jakarta EE

Conseil d'insertion des problèmes associés

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.

Prise en charge de Scala 3

Possibilité de créer des inspections structurelles de recherche et de remplacement

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.

Prise en charge de Scala 3

Préciser les causes des exceptions d'exécution

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é.

Prise en charge de Scala 3

Meilleure saisie automatique pour les méthodes de l'API Stream

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.

Prise en charge de Scala 3

Série d'options pour Introduce Variable

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.

Nettoyage des Live Templates Java

Nettoyage des Live Templates Java

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.

Éditeur

Vue Problems

Fenêtre d'outils Problems

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.

Widget d'inspections de l'éditeur

Widget d'inspections

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.

Aperçu des intentions

Aperçu des intentions

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.

Correcteur orthographique amélioré

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.

Contrôle de version

Prise en charge complète des requêtes pull GitHub

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

Boîtes de dialogue améliorées pour les actions Git

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.

Amélioration de l'affichage des résultats de l'action Compare branches

Amélioration de l'affichage des résultats pour l'action Compare Branches

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.

Utilisez squash depuis le journal des événements pour les commits locaux

Utiliser squash et déposer les commits locaux depuis le journal des événements

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.

Prise en charge de Git installé dans WSL2

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.

Frameworks et technologies

Prise en charge de Jakarta EE 9 Ultimate

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.

Assistant Jakarta EE

Assistant de projet Java Enterprise Ultimate

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.

Prise en charge des fichiers Quarkus Config : .properties et YAML Ultimate

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.

Amélioration de la prise en charge de Quarkus CDI Ultimate

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).

Prise en charge de l'interface utilisateur Swagger

Prise en charge de l'interface utilisateur Swagger Ultimate

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.

Assistant Jakarta EE

Diff Swagger Ultimate

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.

Assistant Jakarta EE

Génération de projets pour Micronaut Ultimate

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.

Prise en charge de Message Queue pour Micronaut et l'API Amazon SQS Ultimate

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.

Deamnde de generation JAX-RS et Client HTTP REST MicroProfile

Génération de requêtes HTTP pour client REST JAX-RS et MicroProfile Ultimate

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.

Saisie semi-automatique du code URL pour les tests REST Assured

Saisie semi-automatique du code URL pour les tests REST Assured Ultimate

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 ajoute l'intégration avec Selenoid Ultimate

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.

Profileur

Visionneuse de mémoire HPROF

Visionneuse de mémoire HPROF Ultimate

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.

Expérience utilisateur

Indexation plus rapide avec des index partagés prédéfinis

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.

Mise en évidence et saisie semi-automatique du code lors de l'indexation

Nouvelles possibilités lors de l'indexation

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.

Terminal

Possibilité d'exécuter des fonctionnalités de l'IDE depuis le Terminal

Option d'exécution des fonctionnalités de l'IDE à partir du terminal

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.

Outils de build

Prise en charge de Maven Wrapper

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.

Gestion des versions Maven par projet

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.

Présentation de la sortie de l'outil de build

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.

Meilleur aperçu du code dans les fichiers build.gradle

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.

JavaScript et TypeScript

Nouvelles intentions et inspections intelligentes

Nouvelles actions d'intention pour une meilleure productivité Ultimate

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.

Prise en charge de l'API Composition et de Vuex

Prettier comme outil de formatage par défaut Ultimate

À 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.

Nettoyage des Live Templates Java

Prise en charge de Nuxt.js Ultimate

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.

Bases de données

Éditeur séparé pour les valeurs de cellule

Éditeur séparé pour les valeurs de cellule Ultimate

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.

Nouvelle interface utilisateur pour les valeurs booléennes

Nouvelle interface utilisateur pour les valeurs booléennes Ultimate

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.

Aperçu DML dans l'éditeur de données

Aperçu DML dans l'éditeur de données Ultimate

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.

Prise en charge de Scala 3

Dialecte Google BigQuery Ultimate

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.

Scala

Importation automatique pour les implicites

Importation automatique pour les implicites

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).

Importation automatique pour les implicites

Gestion des accolades basée sur l'indentation

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.

Des compagnons de première classe

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.

Affichage de Scaladoc dans l'éditeur

Affichage de Scaladoc dans l'éditeur

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.

Améliorations de la saisie automatique

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).

Docker

Connectez-vous à Docker en toute sécurité

Connectez-vous à Docker en toute sécurité

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.

Kubernetes

Plusieurs fichiers de configuration

Plusieurs fichiers de configuration Ultimate

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.

Prise en charge de ConfigMap et Secret

Prise en charge de ConfigMap et Secret Ultimate

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.

Autre

  • IntelliJ IDEA 2020.2 inclut toutes les modifications d'Android Studio 4.0. En savoir plus maintenant.
  • IntelliJ IDEA peut détecter si vous utilisez un lecteur d'écran, et si c'est le cas, il active automatiquement les fonctionnalités d'accessibilité de l'IDE.
  • IntelliJ IDEA 2020.2 vous permet d'utiliser des caractères d'émoticônes Unicode sous Linux. Préparez-vous à décoller. 🚀
  • Pour éviter les problèmes de performances et de rendu, nous proposons désormais une nouvelle intégration avec JCEF pour exécuter les plugins IntelliJ Platform.