Nouveautés du plugin Kotlin 2021.1 pour IntelliJ IDEA
amélioration des performances de l’EDI et meilleure prise en charge des refactorisations

La version 2021.1 d’IntelliJ IDEA est dotée du plugin Kotlin amélioré. Vous pouvez profiter d’une meilleure expérience de développement grâce à une saisie semi-automatique et une mise en évidence de code plus rapides. À cela s'ajoutent une meilleure prise en charge de Change Signature par l’EDI, une meilleure expérience de débogage pour l’évaluation des propriétés, et plus encore.

Voici ce que vous obtiendrez en installant le nouveau plugin :

  • saisie semi-automatique et mise en évidence de code plus rapides ;
  • évaluation des getters personnalisés directement dans la vue Variables ;
  • meilleure prise en charge de la refactorisation Change Signature par l’EDI ;
  • saisie semi-automatique du code pour les arguments de type ;
  • diagrammes de classe pour votre code Kotlin ;
  • autres améliorations de l’EDI.

Ci-dessous, nous présenterons ces nouveautés et améliorations plus en détail.

Bénéficier de la saisie semi-automatique et de la mise en évidence rapides du code

Lorsque vous écrivez du code, il peut être pénible d’avoir à attendre que l’EDI mette votre code en évidence et vous aide grâce à la saisie semi-automatique. C’est pourquoi JetBrains a comme objectifs de rendre la mise en évidence et la saisie semi-automatique du code aussi fluides que possible.

Le nouveau plugin Kotlin améliore considérablement les performances de la mise en évidence et de la saisie semi-automatique du code pour Kotlin. Selon les tests effectués, la vitesse de mise en évidence a été améliorée d’environ 25 % et la saisie semi-automatique du code est maintenant plus de 50 % plus rapide, se rapprochant ainsi du niveau de performance offert pour Java.

Veuillez noter que ces chiffres sont seulement basés sur les tests de JetBrains. Il se peut que les améliorations observées dans vos projets actuels ne soient pas aussi importantes que ce que montrent les tests de l'entreprise, mais vous devriez tout de même constater une nette amélioration des performances.

Mise en évidence du code Kotlin avec le nouveau plugin

Vous pouvez voir ici une comparaison de la vitesse de la mise en évidence du code Kotlin entre le précédent plugin Kotlin, version 2020.3, et la nouvelle version 2021.1. Les résultats sont basés sur les bancs d’essai de JetBrains, qui examinent la mise en évidence du code dans des fichiers Kotlin complexes.


Saisie semi-automatique du code Kotlin avec le nouveau plugin

Et voici une comparaison des performances de la saisie semi-automatique du code Kotlin entre la version 2020.3 et la version 2021.1. Les résultats sont également basés sur les bancs d’essai de JetBrains.


Meilleure prise en charge de la refactorisation Change Signature par l’EDI

Si vous avez utilisé la refactorisation Change Signature dans les versions précédentes du plugin Kotlin, vous avez peut-être rencontré des problèmes et des limitations, ainsi qu’un manque de visibilité sur ce qui ne fonctionnait pas dans ces cas-là. Passer au nouveau plugin Kotlin vous permettra de bénéficier de plus de 40 correctifs de bugs et améliorations pour la refactorisation Change Signature.

Voici quelques-unes des améliorations les plus importantes :

  • détection d’un plus grand nombre de cas où le code résultant est susceptible d’être cassé ;
  • corrections pour les refactorisations héritées, y compris la refactorisation interlangage ;
  • amélioration de l’expérience utilisateur pour le traitement des propriétés ;
  • méthode supplémentaire pour déclarer la valeur par défaut du paramètre ;
  • traitement correct de l’accent grave.

Évaluer les getters personnalisés directement dans la vue Variables

Les recherches ont montré à JetBrains que l’expérience de débogage pour Kotlin nécessitait des améliorations significatives en vue de fournir une meilleure expérience aux développeurs et l'entreprise a déjà un certain nombre de projets en cours pour y parvenir. Cette version apporte une petite, mais importante amélioration pour l’évaluation des propriétés dans la vue Variables.

Auparavant, pendant une session de débogage, vous ne pouviez voir que les propriétés qui n’avaient pas de getter personnalisé et celles qui avaient un champ de stockage. Les propriétés avec un getter personnalisé n’apparaissent pas parce qu’elles sont représentées comme des méthodes ordinaires sur la JVM. Dans la version 2021.1 du plugin Kotlin, vous pouvez voir toutes ces propriétés et les évaluer à la demande en cliquant sur get() à côté du nom de la propriété. Par exemple, en déboguant le code qui suit, vous pouvez exécuter la méthode get() pour voir la valeur de versionString :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
class LanguageVersion(val major: Int, val minor: Int) {
    val isStable: Boolean
        get() = major <= 1 && minor <= 4
    val isExperimental: Boolean
        get() = !isStable
    val versionString: String
        get() = "$major.$minor"
    override fun toString() = versionString
}
fun main() {
    val version = LanguageVersion(1, 4)
}

Dans la fenêtre Debug, vous pouvez voir les valeurs des propriétés :


Utiliser la saisie semi-automatique du code pour les arguments de type

Le nouveau plugin Kotlin peut compléter le code pour les arguments de type. Auparavant, vous deviez écrire ce code manuellement sans pouvoir bénéficier des fonctionnalités d’assistance de l’EDI. Désormais, la saisie semi-automatique suggère des fonctions et des propriétés après les fonctions génériques et restitue les arguments de type lorsque c’est nécessaire. Lorsque vous sélectionnez une telle fonction dans la liste, l’EDI ajoute le bon argument de type au code précédent.

Dans l’exemple suivant, l’EDI ajoute automatiquement le type <String>() :


Après avoir appliqué la suggestion de l’EDI, vous obtiendrez le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
fun typeArgumentsAtCodeCompletion() {
    //  Function definition from stdlib:
    // public fun <T> emptyList(): List<T>
    val listA: List<String> = emptyList() // T est déduit du contexte (variable explicite)
    val listB: List<String> =
        emptyList<String>().reversed() // L'argument de type pour emptyList() est nécessaire pour évaluer l'expression de type
}

Examiner la structure de votre code Kotlin à l’aide de diagrammes de classes

Avec la nouvelle version du plugin, vous pouvez examiner la structure de votre code Kotlin via des diagrammes de classes UML. Pour construire un diagramme, sélectionnez Diagrams | Show Diagram… | Kotlin Classes dans la vue Project.


Autres améliorations de l’EDI

Comme le plugin Kotlin et la plateforme IntelliJ ont été déplacés vers la même base de code et sont désormais livrés simultanément, vous pourrez également améliorer votre expérience avec Kotlin grâce aux fonctionnalités suivantes :

  • utiliser le profileur de mémoire annoncé lors de la publication d’IntelliJ IDEA 2020.3 via l’exécution de Gradle ;
  • recevoir des avertissements en cas d’appels inappropriés bloquant les threads dans les coroutines ;
  • éviter les problèmes d’injection de langage lors de l’utilisation de guillemets triples et de la concaténation de chaînes.

IntelliJ IDEA vous donnera la possibilité de procéder à une mise à jour automatique vers la nouvelle version. Si vous n’utilisez pas encore IntelliJ IDEA, vous pouvez en télécharger la dernière version qui est fournie avec le dernier plugin Kotlin.

Découvrez toutes les nouveautés du plugin Kotlin 2021.1
Téléchargez la dernière version d'IntelliJ IDEA fournie avec le plugin Kotlin 2021.1