Java

Java 12

IntelliJ IDEA 2018.3 est livré avec une prise en charge initiale de Java 12 ! Prévisualisez maintenant les littéraux de chaîne bruts (JEP 326) dans l'IDE et bénéficiez d'une multitude d'inspections utiles et de correctifs rapides. Par exemple, convertissez les littéraux de chaîne multiligne en littéraux de chaîne bruts et inversement, détectez les backticks ` redondantes, et plus encore. En savoir plus

Lire la notice légale ici

Veuillez noter que Java 12 n'est pas encore publié. Vous devez accepter les conditions de la notice légale de la spécification Java bêta pour activer la prise en charge de Java 12. L'implémentaition d'un avant-projet de spécification développé dans le cadre du Java Community Process (JCP) est uniquement disponible à des fins de test et d'évaluation et n'est compatible avec aucune spécification du JCP.

Une meilleure détection des doublons

IntelliJ IDEA peut maintenant rapidement repérer les doublons, même dans des cas plus complexes, par exemple si les noms de variables sont différents. L'IDE affichera les doublons dans la visionneuse de différences pour vous permette de les comparer côte à côte.

Améliorations de l'API Java Stream

L'IDE détecte les situations dans lesquelles des appels triés inutiles sont effectués avant l'appel min suivant. Un correctif rapide pour supprimer l'appel trié redondant est également proposé.

Améliorations du flux des données

Nous avons créé une nouvelle inspection basée sur le flux de données appelée Condition is covered by further condition (la condition est couverte par une autre condition). Elle détecte les situations dans lesquelles la première condition n'est pas nécessaire car elle est couverte par la seconde. L'IDE propose un correctif rapide pour supprimer ces conditions redondantes.

Utilisations redondantes d'une inspection supprimée

IntelliJ IDEA détecte maintenant les utilisations redondantes de l'annotation @SuppressWarning, du commentaire de ligne //noinspection, ou du commentaire /** noinspection */ JavaDoc. Lorsqu'une inspection supprimée ne prend plus en compte des avertissements dans le corps, la classe ou l'instruction de la méthode associée, l'IDE vous envoie un avertissement, mais fournit également un correctif rapide permettant de supprimer ces annotations et commentaires inutiles.

Éditeur

Commentaires TODO multilignes

IntelliJ IDEA 2018.3 prend maintenant en charge les commentaires TODO multilignes. La première ligne de commentaire TODO et toutes les lignes suivantes sont mises en surbrillance dans l'éditeur et répertoriées dans la fenêtre de l'outil TODO. Ajoutez simplement une indentation à partir de la deuxième ligne de votre commentaire TODO multiligne, et l'IDE le différenciera d'un commentaire ordinaire.

Désactivation du formatage du code pour des fichiers et dossiers spécifiques

Nous avons ajouté la possibilité de verrouiller la mise en forme, l'optimisation des importations et la réorganisation du code (en fait de toute opération impliquant une mise en forme, explicite ou implicite) pour certains fichiers. Créez simplement une portée et ajoutez-y tous les fichiers qui ne doivent pas être mis en forme !

Nouvelle barre d'état de l'indentation

IntelliJ IDEA affiche la taille de l'indentation dans le fichier actuel dans une nouvelle barre d'état de l'indentation. Si l'indentation du fichier ne correspond pas aux paramètres actuels de votre projet, un astérisque sera ajouté à la vue de l'indentation. Vous avez maintenant un choix d'actions pour contrôler l'indentation actuelle dans la fenêtre contextuelle de la barre d'état.

Améliorations de la prise en charge d'EditorConfig

L'IDE fournit maintenant la mise en évidence des éléments de syntaxe et la saisie automatique du code pour les fichiers EditorConfig. Vous pouvez également utiliser la nouvelle fenêtre contextuelle de la barre d'état d'indentation pour accéder facilement au fichier EditorConfig utilisé.

Contrôle de version

Requêtes Pull GitHub

IntelliJ IDEA fournit un support initial pour les requêtes Pull de GitHub. Prévisualisez toutes les requêtes Pull dans votre dépôt GitHub à partir de la nouvelle fenêtre de l'outil GitHub Pull Requests. Utilisez diff pour prévisualiser les modifications, ou créez une branche locale à partir d'une requête Pull via le menu contextuel, puis fusionnez-la comme une branche normale.

"History up to Here" peut afficher tout l'historique

Précédemment, l'action History up to Here n'affichait que l'historique du fichier jusqu'au commit sélectionné. Elle peut désormais montrer ce qui s'est passé dans le fichier par la suite, en basculant sur Show All Branches dans la barre d'outils. Cela peut se révéler particulièrement utile si le fichier est supprimé ultérieurement, car il n'est pas facile de détecter de telles occurrences.

Navigation avancée dans le journal VCS

Vous pouvez maintenant utiliser les actions de navigation Forward (Avant) et Back (Arrière) quand vous vous trouvez dans le Journal VCS après avoir navigué des hashs de commit au commit dans l'onglet VCS Log, ou après avoir utilisé l'action Go to hash/branch/tag. Utilisez les flèches gauche et droite pour naviguer vers le commit enfant ou parent.

Ignorer les espaces

L'IDE peut maintenant ignorer les changements d'espaces lors de la fusion. Dans la boîte de dialogue Merge Revisions for (Fusionner les révisions pour) se trouve un nouveau menu déroulant Ignore avec les options de masquer ou de réduire les changements d'espaces lors de la fusion.

Copier un fichier d'une branche Git à une autre

IntelliJ IDEA 2018.3 vous permet de copier facilement un fichier d'une branche Git à une autre via la nouvelle action très pratique Get from Branch, disponible dans l'onglet Files de la boîte de dialogue Compare branches.

Nom de la branche dans le dialogue de Commit

L'IDE affiche le nom de la branche vers laquelle vous envoyez le commit des fichiers directement dans la boîte de dialogue Commit. Nous avons implémenté cette fonction pour Git, Mercurial et SVN.

Prévisualiser les différences dans l'onglet File History

Diff Preview est maintenant disponible dans l'onglet File History de la fenêtre de l'outil Version Control.

Prise en charge des sous-modules Git

IntelliJ IDEA 2018.3 prend désormais en charge les sous-modules Git ! Clonez ou mettez à jour votre projet, envoyez un commit des modifications, consultez le diff et résolvez les conflits.

Rechercher et Remplacer

Nouvelle fonction Search Everywhere

IntelliJ IDEA 2018.3 introduit un nouveau moyen plus efficace de naviguer dans le projet et dans l'IDE. Veuillez accueillir chaleureusement la fonction Search Everywhere entièrement repensée ! En fait, cette fonction est bien plus que juste Search Everywhere désormais car elle intègre toutes les autres boîtes de dialogue de navigation : Search Everywhere, Find Action, Go to class, Go to file et Go to symbol. Notez que toutes ces boîtes de dialogue de navigation restent accessibles via leurs propres raccourcis clavier, comme auparavant.

Rechercher des fragments multilignes dans Find in Path

Il est maintenant possible de rechercher / remplacer un fragment multiligne dans les boîtes de dialogue Find in Path / Replace in Path. Il n'est plus nécessaire d'utiliser des expressions régulières pour effectuer une recherche multiligne.

Nouvelles boîtes de dialogues Recherche et remplacement structurels

IntelliJ IDEA 2018.3 propose une boîte de dialogue de Recherche et remplacement structurels actualisée et simplifiée. La saisie automatique fonctionne maintenant dans les modèles prédéfinis du champ de recherche. Vous pouvez afficher l'historique de recherche dans le menu déroulant situé sous l'icône de recherche. La configuration de la portée est maintenant plus simple et plus souple. Le formulaire Edit Variables complexe a été remplacé par un volet de filtres, que vous trouverez dans la nouvelle boîte de dialogue.

Page des préférences de plug-ins

Nous avons actualisé la page Plugins dans Preferences (Settings) pour faciliter la gestion, l'installation, la désinstallation et la mise à jour des plug-ins. Vous pouvez désormais rechercher des plug-ins non seulement par nom, mais aussi par balises. Mieux encore, vous pouvez également trier les résultats par téléchargements, nom, classement, fonctionnalités ou mises à jour.

Run Anything

Run Anything

IntelliJ IDEA 2018.3 propose un nouveau moyen centralisé d'exécuter une commande dans l'IDE via l'action Run Anything (Double Ctrl). Utilisez la nouvelle action pour lancer une configuration d'exécution, y compris Maven et Gradle, pour exécuter une tâche Gradle ou pour exécuter des commandes de terminal.

Debug Anything

Appuyez simplement sur la touche Maj pour passer la boîte de dialogue Run Anything en mode Debug Anything.

Kotlin

Le plug-in Kotlin associé à l'IDE a été mis à jour vers la version v1.3

Prise en charge de Kotlin 1.3

Tout récemment, Kotlin a publié une nouvelle version majeure du langage, des outils et des bibliothèques. IntelliJ IDEA peut vous aider à migrer votre projet Kotlin vers Kotlin 1.3 et à réaliser toutes les modifications nécessaires dans un code obsolète pour le rendre compatible avec le dernier état des bibliothèques.

Améliorations de la prise en charge de projets multiplateformes

Dans Kotlin 1.3, le modèle des projets multiplateformes a été complètement retravaillé afin d'améliorer l'expressivité et la flexibilité, et de faciliter le partage de code commun. IntelliJ IDEA fournit un ensemble d'exemples de projets couvrant les cas d'utilisation les plus courants.

Nouvelles inspections Kotlin et correctifs rapides

Depuis la sortie d'IntelliJ IDEA 2018.2, le plugin Kotlin propose plus de 30 nouvelles inspections, correctifs rapides et intentions, qui vous aident à être beaucoup plus efficace dans l'écriture du code.

Spring et Spring Boot

Prise en charge de Spring Boot 2.1

IntelliJ IDEA 2018.3 fully supports the recently released Spring Boot 2.1. Configuration values annotated with @DataSize are validated using the default @DataSizeUnit, if specified.

Améliorations de Spring Initializr

Dorénavant, lorsque vous créez un projet en utilisant Spring Initializr, l'IDE suggérera d'installer ou d'activer les extensions appropriées pour garantir la prise en charge de toutes les technologies sélectionnées.

Meilleure prise en charge de JPA et Spring Data pour Kotlin

Désormais, l'IDE peut injecter automatiquement du JPQL dans les chaînes de requête, pour compléter les noms et paramètres des entités. Vous pouvez écrire des interfaces Spring Data dans Kotlin et IntelliJ IDEA comprendra les entités que vous utilisez. L'IDE propose une saisie automatique intelligente pour les noms de méthodes et des correctifs rapides pour les paramètres.

Accessibilité

Thème contrasté

Nous nous engageons à fournir une expérience exceptionnelle à tous nos utilisateurs. Avec IntelliJ IDEA 2018.3, nous apportons quelques améliorations d'accessibilité importantes, telles que le tout nouveau thème à fort contraste.

Une meilleure prise en charge pour les lecteurs d'écran

Nous avons amélioré notre prise en charge des lecteurs d'écran, leur permettant de lire les numéros de ligne, les annotations VCS, le débogueur et les icônes de notre gouttière.

Débogueur JVM

Association aux processus java

Associez des processus Java initiés sans agent de débogage. Une fois le processus associé, vous pourrez afficher l'état actuel du thread, les valeurs de variable, et utiliser la vue de la mémoire.

Si vous souhaitez attacher le débogueur à votre processus local, vous pouvez utiliser la nouvelle action Attach Debugger disponible dans la fenêtre de l'outil Run

Redémarrer automatiquement l'écoute d'une connexion à distance

Désormais, pendant que vous déboguez un processus distant, l'IDE peut redémarrer automatiquement une configuration. Activez simplement la nouvelle option Auto restart pour les configurations de débogage distant.

Traces de pile async dans les machines virtuelles distantes

IntelliJ IDEA 2018.3 now supports async stack traces in remote JVMs. To start using the agent remotely:

  • copier /lib/rt/debugger-agent.jar sur la machine distante.
  • ajouter -javaagent:debugger-agent.jar aux options de la JVM distante.

Vous pouvez à présent définir vos propres annotations Async dans la boîte de dialogue Async Annotations Configuration.

Action pour supprimer tous les points de rupture

IntelliJ IDEA 2018.3 propose nouvelles actions pratiques qui suppriment tous les points de rupture d'un projet ou tous les points de rupture du fichier. Vous pouvez leur attribuer vos propres raccourcis dans Preferences (Settings) | Keymap | Debugger Actions.

Maven

Il est maintenant possible de déléguer toutes vos actions build et run à Maven. Cliquez sur Preferences (Settings) | Build, Execution, Deployment | Build Tools | Maven | Runner et sélectionnez la nouvelle option Delegate IDE build / run actions to maven.

Terminal

Des améliorations ont été apportées au terminal intégré. IntelliJ IDEA 2018.3 enregistre désormais les noms des onglets du terminal, le répertoire de travail en cours et l'historique du shell lorsque vous fermez le projet ou IntelliJ IDEA.

Nous avons également remanié les onglets du terminal pour qu'ils ressemblent aux onglets des autres fenêtres d'outils.

Exécuter la configuration

Macros dans les configurations d'exécution Java

IntelliJ IDEA vous permet désormais d'utiliser des macros dans les configurations d'exécution 'Application' et 'npm'. Vous pouvez saisir une macro prédéfinie dans le champ Program arguments.

Possibilité d'utiliser des fichiers texte en entrée

Si vous souhaitez utiliser un fichier texte ou journal comme entrée, sélectionnez simplement l'option Redirect input from dans la boîte de dialogue Run/Debug Configurations, puis indiquez le chemin d'accès au fichier contenant vos données d'entrée.

La configuration d'exécution s'effectue en tant qu'instance unique, par défaut

Par défaut, une configuration d'exécution s'effectue désormais en tant qu'instance unique. Il existe toutefois l'option Allow running in parallel dans la boîte de dialogue Run/Debug Configuration qui vous permet si vous le souhaitez d'exécuter plusieurs instances de la même configuration d'exécution en parallèle.

JavaScript & TypeScript

Imports automatiques dans JavaScript

IntelliJ IDEA peut désormais ajouter automatiquement des importations pour les symboles des dépendances du projet, dans des fichiers JavaScript. Cela fonctionne du moment qu'il existe un fichier de définition TypeScript à l'intérieur du package ou que le package contient des sources écrites en tant que module ES.

Prise en charge améliorée d'Angular

La saisie automatique du code et l'option Go to definition pour les variables, les pipes, les pipes async et les variables de référence dans les modèles Angular sont désormais plus précis.

Prise en charge des worker threads Node.js

Vous pouvez maintenant déboguer des workers Node.js dans IntelliJ IDEA – assurez-vous simplement d'utiliser Node.js 10.12 ou une version ultérieure et l'indicateur --experimental-worker. L'IDE propose la saisie automatique du code pour l'API des worker threads.

Plus de flexibilité avec ESLint et TSLint

Vous pouvez remplacer les niveaux de sévérité à partir du fichier de configuration de linter et afficher tous les problèmes depuis le linter sous forme d'erreurs ou d'avertissements.

Pour les erreurs TSLint, appuyez sur Alt-Entrée puis sur la flèche droite. Vous avez maintenant la possibilité d'ajouter un commentaire de désactivation TSLint spécial pour cette règle.

Kubernetes

Prise en charge des fichiers de ressources Helm

L'IDE identifie maintenant correctement les fichiers de modèle de ressources Helm et vous propose notre fameuse assistance à l'édition : saisie automatique du code, refactorisation Rename, et bien sûr inspections et correctifs rapides.

Navigation dans les fichiers de ressources Helm

L'IDE vous permet de naviguer de l'utilisation d'une valeur à sa déclaration dans le fichier values.yaml du graphique. Vous pouvez utiliser les icônes de la gouttière pour naviguer entre une définition de libellé et son sélecteur. De plus, il existe de nouvelles icônes de gouttière dans les fichiers values.yaml que vous pouvez utiliser pour naviguer vers des valeurs remplacées / de remplacement.

Aperçu du résultat du modèle Helm

L'IDE peut maintenant prévisualiser le résultat du rendu du modèle Helm dans le diff. Il vous suffit de choisir la nouvelle action Kubernetes | Helm Template dans le menu contextuel.

Mise à jour des dépendances Helm

Une nouvelle action Helm Dependency Update est disponible pour télécharger des dépendances tgz externes (ou mettre à jour les dépendances existantes) et les afficher dans l'arborescence du projet.

Outils de base de données

Base de données Cassandra

Avec cette version, nous avons ajouté la prise en charge d'une base de données NoSQL supplémentaire – Cassandra.

Améliorations de la saisie automatique du code SQL

La saisie automatique du code fonctionne maintenant pour : les champs non agrégés dans GROUP BY, toutes les colonnes répertoriées dans les variables de table SELECT, MERGE et INSERT INTO, les paramètres nommés des procédures stockées, les champs numériques dans SUM() et AVG(), la clause FILTER (WHERE) et les types de champs dans SQLite.

Introduire un alias de table

Vous pouvez maintenant utiliser l'action Introduce table alias pour créer un alias directement pour la table et cet alias remplacera automatiquement les utilisations du nom de la table.

Mode connexion unique

Chaque nouvelle console entraîne une nouvelle connexion. Dans IntelliJ IDEA 2018.3, toutefois, il est possible d'utiliser une seule connexion pour la source de données : toutes les consoles utilisent ensuite cette connexion unique. Vous pouvez consulter tous les objets temporaires dans l'arborescence de la base de données. De plus, il est possible d'utiliser la même transaction dans différentes consoles. Pour l'activer, cliquez sur Data source properties | Options | Single connection mode.