Ajouter l'option --enable-preview dans Java dans Visual Studio Code

Il y a longtemps, le pack d'extension Java de Visual Studio Code (ci-après VS Code) (https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) prend désormais en charge JDK 13.

Quand j'ai essayé JEP 355: Text Blocks (Preview), "Text Blocks est une fonction de prévisualisation et désactivée par défaut. Utilisez --enable-preview pour activer J'ai eu l'erreur. 2019-11-07_22h30_01.png

Oui, je pensais que je devais ajouter --enable-preview, mais comment spécifier cela pour VSCode? Je me suis arrêté un moment, alors j'ai regardé.

L'erreur ci-dessus s'est produite dans un projet utilisant Maven, j'ai donc pu la résoudre en ajoutant la description suivante au plug-in du compilateur de Maven quel que soit le VSCode.

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <compilerArgs>--enable-preview</compilerArgs>
    </configuration>
</plugin>

De plus, [JDT (Java Development Tool)](https: // www.) Inclus dans Language Support for Java de Java Extension Pack. Il a également été résolu en définissant eclipse.org/jdt/). Référence: https://github.com/redhat-developer/vscode-java/issues/671#issuecomment-477379761

Puisque le dossier .settings est créé dans le projet Java, ouvrez simplement le fichier org.eclipse.jdt.core.prefs et ajoutez «org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures = enabled». .. 2019-11-08_00h05_59.png

Quand j'ai essayé ce qui se passerait si je n'utilisais pas Maven, j'ai pu l'exécuter sans erreur particulière. Si vous regardez attentivement, il fonctionnait avec --enable-preview. 2019-11-08_00h46_20.png

Semble-t-il être spécifié dans Debugger for Java dans le Java Extension Pack? Je me demande.

J'ai cherché le code Github et je l'ai trouvé ci-dessous.

https://github.com/microsoft/vscode-java-debug/blob/master/src/configurationProvider.ts#L220

 // Auto add '--enable-preview' vmArgs if the java project enables COMPILER_PB_ENABLE_PREVIEW_FEATURES flag.
if (await lsPlugin.detectPreviewFlag(config.mainClass, config.projectName)) {
    config.vmArgs = (config.vmArgs || "") + " --enable-preview";
}

Il semblait être contrôlé par l'indicateur COMPILER_PB_ENABLE_PREVIEW_FEATURES, et les indicateurs étaient: La valeur par défaut semble être activée. (Est-ce correct?

https://github.com/microsoft/vscode-java-debug/blob/master/src/languageServerPlugin.ts#L76

const COMPILER_PB_ENABLE_PREVIEW_FEATURES: string = "org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures";
export async function detectPreviewFlag(className: string, projectName: string): Promise<boolean> {
    const expectedOptions = {
        [COMPILER_PB_ENABLE_PREVIEW_FEATURES]: "enabled",
    };
    return checkProjectSettings(className, projectName, true, expectedOptions);
}

Dernier point mais non le moindre, quand j'ai vu la démo de @ bitter_fox à la réunion du rapport Oracle Code One 2019 à laquelle j'ai assisté l'autre jour, j'ai pensé que "Oh" c'est du texte. Le blanc sur la première ligne de blocs a été déterminé par la position de fermeture à la fin. Je l'ai essayé et cela a fonctionné. C'était sobre mais quelque chose d'impressionnant.

2019-11-08_00h55_40.png

Recommended Posts

Ajouter l'option --enable-preview dans Java dans Visual Studio Code
Java avec Visual Studio Code
[Mac] Installer Java dans Visual Studio Code
[Mac] Installer Java dans Visual Studio Code (VS Code)
Impossible de définir java.home avec le code Visual Studio.
Essayez le débogage à distance Java avec des conteneurs distants dans Visual Studio Code Insiders
Prise en main des programmes Java à l'aide de Visual Studio Code
Je ne pouvais pas taper le japonais dans Ubuntu20.04 + Visual Studio Code
Paramètres de sortie vers la console de débogage dans Visual Studio Code
Pourquoi pouvez-vous développer Java avec Visual Studio Code?
Créer un environnement de développement de programme Java avec Visual Studio Code
Écrire du code de type Java8 en Java8
Créer un environnement de développement Web APP avec Java + Spring avec Visual Studio Code
Utiliser PlantUML avec Visual Studio Code
Devinez le code de caractère en Java
Environnement Java Spring dans vs Code
Ce que j'ai appris en travaillant Java avec Visual Studio Code
Un enregistrement de la configuration d'un environnement de développement Java avec Visual Studio Code
Ruby on Rails dans les espaces de codes Visual Studio
Java (add2)
Java (ajouter)
Toutes les mêmes chaînes de code de hachage en Java
Ajouter des notes de bas de page aux documents Word en Java
Appeler la reconnaissance visuelle dans Watson Java SDK
De Java à C et de C à Java dans Android Studio
Ajouter l'attribut SameSite au cookie en Java
Découvrez .NET 5 avec Docker et Visual Studio Code
Techniques de lecture du code source Java dans Eclipse
Analyse de code statique par Checkstyle avec Java + Gradle
Code pour échapper aux chaînes JSON en Java
Essayez d'utiliser Sourcetrail (version win) avec du code Java
Essayez d'utiliser Sourcetrail (version macOS) avec du code Java
Ajouter, lire et supprimer des commentaires Excel à l'aide de Java
[AtCoder Problem-ABC001] Observation du vent C-Do en Java [Code]
[Angoisse du débutant Java] Code difficile à tester implémenté dans Junit
J'ai essayé «Visual Studio Code Installer pour Java» qui peut créer immédiatement un environnement de développement Java
Exécuter du code Java de manière scriptée
CONSEILS relatifs au code Java
Partition en Java
Exemple de code Java 02
Exemple de code Java 03
Changements dans Java 11
Janken à Java
Exemple de code Java 04
Exemple de code Java 01
Code de caractère Java
Taux circonférentiel à Java
FizzBuzz en Java
Installation de Visual Studio Code sur Ubuntu 20.04 (prise en charge de la mise à jour automatique)
Exemple de code pour convertir List en List <String> dans Java Stream
Essayez de quitter Eclipse et de passer à Visual Studio Code
N'écrivez pas de code si (isAdmin == true) en Java
Java11: exécuter le code Java dans un seul fichier tel quel
Différences de code lors de l'utilisation du système de longueur en Java
[Oracle Cloud] Créer un environnement de développement pour OCI Java SDK (Visual Studio Code, Maven, CentOS)