Visual Studio Code prend désormais en charge Java 12,
et propose de nombreuses améliorations pour les développeurs Java

Prise en charge de Java 12

Java se met à jour à un rythme plus rapide et Microsoft le suit. Grâce à la mise à jour amont de JDT, vous pouvez désormais construire votre projet en vous servant des fonctionnalités Java 12 dans VS Code. Pour utiliser les fonctionnalités du langage expérimental telles que la nouvelle instruction switch, ajoutez les paramètres suivants au fichier pom.xml:

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <source>12</source>
                <compilerArgs>--enable-preview</compilerArgs>
            </configuration>
        </plugin>
    </plugins>
</build>

Plus facile pour commencer

Bien que Java existe depuis longtemps, il attire toujours de nouveaux développeurs et Microsoft souhaite s'assurer qu’il est assez facile pour quiconque de commencer à programmer en Java avec VS Code. L’une des améliorations apportées récemment consiste à vous fournir des informations plus détaillées pour corriger les paramètres de votre environnement.

Nom : vs1.png
Affichages : 4109
Taille : 35,8 Ko

Que faire si JDK n’est pas encore installé ? Aucun problème. Lorsque le pack d'extension Java est chargé, l'éditeur détecte automatiquement la présence d'un JDK. Sinon, il vous fournit des liens pour télécharger un JDK fiable à votre convenance.

Nom : vs2.png
Affichages : 5001
Taille : 98,4 Ko

Mieux encore, Microsoft travaille également sur une distribution personnalisée de VS Code qui vous aidera à vous préparer avec tout ce dont vous avez besoin pour le développement Java avec un seul programme d’installation.

Amélioration des performances

Microsoft a analysé et profilé les performances de VS Code for Java sur toutes les plateformes et dans tous les scénarios principaux, y compris le chargement et l’édition. Plusieurs améliorations ont été apportées pour améliorer les performances dans les versions récentes.
  • Amélioration des performances d’édition lors de la gestion d’un grand nombre de fichiers ouverts dans l’éditeur
  • Optimisation du temps de démarrage et de chargement avec une meilleure initialisation du serveur et un lazy downloading du code source Java.

Pour rappel, le lazy loading (chargement paresseux, en français) consiste à attendre une action du visiteur pour charger certaines portions de la page. Cela peut se traduire par n’afficher les images que lorsqu’elles sont visibles, mais aussi charger les boutons de partage sociaux seulement après que le visiteur ait survolé une certaine zone, ou cliqué sur des boutons placeholders. Cette technique a deux avantages principaux qui sont :
  • accélérer le temps de chargement des pages
  • économiser les ressources serveurs.

Microsoft indique : « Alors que nous faisons de notre mieux pour optimiser les performances, l'importation d'un grand projet Java dans Visual Studio Code prendrait encore du temps. Dans ce cas, il serait utile d’indiquer davantage de progrès et de vous informer de ce qui se passe réellement dans l’arrière-plan. Au lieu de simplement afficher le pourcentage d'avancement, nous avons ajouté des informations détaillées sur les étapes, telles que l'inspection de l'emplacement, la configuration du projet, la mise à jour des dépendances Maven, l'actualisation de l'espace de travail et la création d'un espace de travail pour vous faire savoir que l'attente est significative ».

Nom : vs3.png
Affichages : 4056
Taille : 42,0 Ko

Plus d'actions de code

Microsoft étant conscient du rôle clé que jouent les actions de code sur la productivité du développeur, l'entreprise continue à en intégrer davantage dans Visual Studio Code.

Résoudre les ambiguïtés d'importation

Pour traiter les importations ambiguës, vous avez maintenant une liste déroulante pour choisir la bonne. La ligne de code avec le type non résolu vous est également présentée pour vous aider à décider.

Nom : java.organize.imports.gif
Affichages : 4110
Taille : 877,8 Ko

Générer hashCode() et equals()

hashCode() et equals() peuvent maintenant être générés avec les implémentations par défaut. Toutes les variables de membre non statiques sont répertoriées et vous pouvez personnaliser le code généré à l'aide de la liste de contrôle.

Il existe deux options pour personnaliser le code généré:
  • Si vous utilisez Java 7+, vous pouvez définir java.codeGeneration.hashCodeEquals.useJava7Objects sur true pour générer un code plus court qui appelle Objects.hash et Objects.equals.
  • Vous pouvez également définir java.codeGeneration.hashCodeEquals.useInstanceof pour vérifier le type d'objet au lieu d'appeler Object.getClass().

Nom : java.hashcode.equals.gif
Affichages : 4069
Taille : 507,0 Ko

Générer toString()

La sélection des champs à inclure dans la méthode toString() et la configuration de son modèle sont toutes prises en charge avec l'action de code toString().

Extraire en variable locale

Pour créer une nouvelle variable (correctement typée) à partir de la valeur de retour d'une expression, le nouvel extract to local variable fournit un bulbe de correctif rapide qui apparaît lorsque le curseur s'arrête au crochet (). Le raccourci clavier est ctrl +.

Nom : extract_variable.gif
Affichages : 4039
Taille : 97,1 Ko

Remplacer / implémenter des méthodes

Avec cette nouvelle action source, tous les candidats vous sont présentés avec une liste de contrôle. Ensuite, vous pouvez décider quoi remplacer ou mettre en œuvre.

Nom : java.implement.methods.gif
Affichages : 4059
Taille : 491,6 Ko

Ajouter une importation statique

Vous pouvez maintenant convertir les appels de fonctions statiques en importations statiques.

Section Pliante

Vous pouvez maintenant développer ou réduire des sections de code pour rendre votre fichier Java facile à lire. Microsoft vous proposons plusieurs méthodes courantes pour spécifier les éléments de code à considérer comme une section pliables.

Mises à jour du débogueur

Le débogueur est l’une des extensions les plus utilisées de la famille des extensions Java et Microsoft lui a apporté les améliorations ci-dessous.

Afficher la structure logique des collections

Le débogueur montre maintenant la structure logique des listes et des cartes, au lieu de la disposition physique des collections. Si vous préférez la vue physique, vous pouvez revenir en arrière en définissant java.debug.settings.showLogicalStructuresur false.

Mettre en évidence les exceptions dans l'éditeur

Les exceptions sont maintenant mises en évidence avec des informations supplémentaires dans la fenêtre de l'éditeur. Avant cela, vous devez survoler l'exception pour voir les détails. Maintenant, les informations les plus importantes vous sont présentées là où elles se produisent.

Nom : deb.png
Affichages : 4020
Taille : 89,0 Ko

Accédez à la définition en cliquant sur Stack Trace dans la console de débogage

Quand il y a une exception, vous pouvez maintenant cliquer sur Stack Trace pour voir la définition des appels de fonction.

Parmi les autres atouts notables, citons :
  • Auto-complétion dans la console de débogage pour les types sans code source
  • Raccourcir automatiquement la ligne de commande lorsque le nom du fichier ou son extension est trop long.

Source : Microsoft

Voir aussi :

Visual Studio 2019 16.1 Preview 2 est désormais disponible et apporte de nombreuses améliorations pour les développeurs C++
Créez des modèles Visual Studio avec des balises pour une recherche et un regroupement efficaces des utilisateurs sur Visual Studio 2019
Java 12 disponible avec les expressions Switch, un nouveau récupérateur de mémoire à faible temps de pause et diverses améliorations pour G1
Les littéraux de chaîne bruts ont été supprimés de Java 12 comme l'a suggéré la proposition d'amélioration JDK (JEP)
Java 12 ne prendra probablement pas en charge les littéraux de chaîne bruts, la proposition d'amélioration JDK (JEP) suggère qu'on les supprime