JavaRush /Blog Java /Random-FR /IntelliJ IDEA 2019.1 : quoi de neuf dans notre IDE préfér...

IntelliJ IDEA 2019.1 : quoi de neuf dans notre IDE préféré ?

Publié dans le groupe Random-FR
Tout récemment, IntelliJ IDEA, un environnement de développement intégré utilisé par les professionnels (dont les créateurs et les diplômés de JavaRush) et les futurs programmeurs (en particulier presque tous les étudiants de JavaRush), a été mis à jour. Dans cet article, nous décrirons brièvement les innovations d'IDEA qui affectent les développeurs Java.

Prise en charge de la fonction de prévisualisation Java 12 - Switch Expressions ( JEP 325 ) et détection des doublons Switch

La douzième version du langage Java a été publiée en mars et l'un des changements intéressants est une nouvelle forme d'expression avec l'opérateur switch. Cet opérateur dans sa forme classique a une syntaxe quelque peu lourde, qui donne lieu à des erreurs constantes, à des difficultés de débogage et à une aversion bien méritée de la part des développeurs. Dans JDK 12 switch, ils ont décidé de le réhabiliter et sa syntaxe a été simplifiée. Cependant, pour une raison inconnue des non-initiés, la nouvelle fonctionnalité n'a été incluse dans Java 12 que sous forme d'aperçu (cela signifie qu'elle doit être « connectée » manuellement même après l'installation du JDK 12). L'IDEA mis à jour a appris à fonctionner pleinement avec tous les types d'opérateurs switch. L'EDI a également appris à détecter les branches en double switchet à les fusionner via une solution rapide.

Pour plus de détails sur les nouveautés du JDK12, consultez l'article Java 12 est déjà là : Quoi de neuf ?

Refactoring : extension de la fonction d'extraction de variable

IntelliJ IDEA peut réorganiser les littéraux de chaîne et le code exécutable. Ainsi, si vous devez modifier une variable, sélectionnez-la simplement et sélectionnez l' option Extraire la variable , puis elle sera remplacée dans tout le code. Désormais, la fonction préservera encore mieux la sémantique des expressions modifiées. Le framework sera capable d'extraire une variable même à partir d'un initialiseur de champ, et il est également possible que la variable extraite convertisse automatiquement un opérateur ternaire en "if" si la condition est importante (une condition est considérée comme importante si elle a un vérification nulle ou une vérification "instanceof").

Mise en évidence plus précise des conditions dans les expressions ternaires

IntelliJ IDEA 2019.1 fournit une mise en évidence plus précise des endroits douteux dans les expressions ternaires. Désormais, seule la condition dans laquelle la valeur a été violée sera mise en évidence null, alors qu'auparavant, toute l'expression ternaire était mise en évidence, même si la violation concernait une seule branche. Grâce à cette nouvelle fonctionnalité, la mise en évidence est désormais plus précise dans le cas des switch-expressions.

Analyse améliorée des opérations mathématiques

L'analyse du flux de données peut surveiller les résultats des opérations mathématiques et utilise ces informations pour alerter le développeur des conditions qui sont toujours vraies ou fausses. Les auteurs d'IDEA ont amélioré l'analyse de nombreuses opérations mathématiques, notamment les opérations de multiplication, de reste et au niveau du bit.

Amélioration de l'annotation @Contract

L'annotation @Contract est utilisée pour définir le contrat auquel une méthode doit se conformer. Cela permet à l'EDI de détecter des problèmes dans les méthodes qui appellent des méthodes annotées. @Contract a deux attributs - valueet pure. L'attribut valuecontient des clauses qui décrivent la relation de cause à effet entre les arguments et la valeur de retour. L' attribut (« pure ») pureest destiné aux méthodes qui ne changent pas l'état de leurs objets, mais renvoient simplement une nouvelle valeur. Si sa valeur de retour n'est pas utilisée, la suppression de son appel n'affectera pas l'état du programme ni ne modifiera la sémantique à moins que l'appel de méthode ne lève une exception (l'exception n'est pas considérée comme un effet secondaire). Ainsi, l'équipe IntelliJ IDEA 2019.1 a amélioré la prise en charge des annotations @Contract. Désormais, l'environnement de développement peut déterminer automatiquement la « pureté » des constructeurs à partir des sources.

Passer d'une trace de pile Java à la position correspondante dans une chaîne

Si vous avez déjà atteint le niveau 9 de la quête Java Syntax sur JavaRush, alors vous avez déjà entendu parler de ce qu'est une trace de pile . En résumé, son essence est que la fonction appelée last doit se terminer en premier. Désormais, lorsque vous cliquez sur une trace de pile Java, l'EDI essaiera de déterminer l'emplacement exact sur la ligne vers laquelle vous souhaitez déplacer le curseur. Auparavant, cela vous amènerait uniquement à la première colonne de la ligne correspondante.

Modifications du débogueur JVM

  • Il existe une nouvelle action Sortir du bloc qui vous permet de quitter le bloc actuel lors du débogage d'un projet à l'aide du débogueur JVM.
  • Si vous préférez la souris lors du débogage, votre travail deviendra encore plus pratique : vous pouvez désormais déclencher l'action de déplacement vers le curseur en cliquant simplement sur le numéro de ligne en mode débogage.
  • Les opérateurs d'évaluation d'expression du débogueur et synchronized, sont désormais pris en charge .assertswitch
En fait, il y a beaucoup plus d'innovations dans IntelliJ IDEA 2019.1. Vous pouvez en savoir plus sur le site Web de JetBrains , les auteurs de cet IDE (mais uniquement en anglais).
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION