redhat-developer / redhat-developer/vscode-java
Support delegated compilation
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 2.3k
- Forks
- 546
- Merge moyen
- 20 h 1 min
- PR mergées (30 j)
- 11
Description
Given java.home is set to a JDK 15 ea build, and I have a project with maven.compiler.release set to 15, then the derived .classpath file will specify JavaSE-14, because that's the latest supported version.
However, what I would like to happen in this case, is that compilation (and the reporting of any compilation errors that goes with it), is delegated. This delegation could be to the build tool (by using mvn compile) or to javac directly. Any other features such as autocompletion would still happen as normal, using the JDT tooling at language level 14.
Environment
- Operating System: Windows 10
- JDK version: 15-ea+17-717
- Visual Studio Code version: 1.44.0
- Java extension version: 0.59.1
Steps To Reproduce
These are just some examples:
- text blocks are standard in JDK 15, but even though my
java.homeis set to a JDK 15, I still see compilation errors as long as I don't enable preview features - when
java.homeis set to a JDK 15 with preview features enabled, and I run a main method, the JVM fails to launch, because the compilation used something like--enable-preview --release 14, but the resultant classfiles have a version which is incompatible with the JDK 15 JVM
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
L’issue ne nomme aucun fichier source ni aucun test ; commencez par retracer comment la Java extension déduit .classpath et gère la compilation avec Maven ou javac ainsi que le lancement des méthodes main. Le travail est terminé lorsque la compilation et les erreurs du compilateur peuvent être déléguées pour des niveaux de JDK plus récents, tandis que les outils de langage restent au niveau pris en charge, et que les classes produites s’exécutent sur le JDK configuré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, vscode
- Domaine
- build-system, developer-experience, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100