redhat-developer / redhat-developer/vscode-java
Module configuration support
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
Type: Feature Request
Feature Request: Support for Classpath Configuration per Module
Summary
The Read Heat extension currently supports only a single workpsace classpath configuration. This becomes limiting in multi‑module Java projects, where each module may require a different classpath. I would like to propose extending the configuration model to align with the standard VS Code configuration hierarchy: User → Workspace → Module (new).
Problem Description
In complex Java workspaces, especially those containing multiple independent modules, the extension does not allow defining a classpath per module. As a result:
- All modules must share the same classpath, even when they have different dependency sets.
- Workspace‑level configuration cannot be overridden for specific modules.
- The extension becomes difficult to use in real‑world multi‑module setups.
For example, I may have a workspace configured on User level for JDK 21, but a specific workpsace require JDK 1.8 and each module requires a different classpath or additional libraries. Currently, there is no way to express this.
Proposed Solution
Introduce a hierarchical configuration model consistent with VS Code’s philosophy:
- User-level configuration
Global defaults for all workspaces. - Workspace-level configuration
Overrides user settings for the current workspace. - Module-level configuration
A new level of configuration that applies to a specific Java module and can override both workspace and user settings.
This would allow each module to define its own classpath while still inheriting defaults when appropriate.
Expected Behavior
- If a module defines its own classpath, the extension uses that configuration.
- If not, the workspace configuration is used.
- If neither module nor workspace defines a classpath, the user-level configuration applies.
- This mirrors how VS Code handles settings for other languages and extensions.
Benefits
- Better support for multi-module Java projects.
- Cleaner and more maintainable configuration.
- Behavior consistent with VS Code’s established configuration hierarchy.
- Allows mixed JDK environments or module-specific dependency sets.
Extension version: 1.52.0
VS Code version: Code 1.109.4 (c3a26841a84f20dfe0850d0a5a9bd01da4f003ea, 2026-02-16T15:35:57.932Z)
OS version: Windows_NT x64 10.0.26200
Modes:
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 de configuration, test ou point d’entrée de l’implémentation. Commencez par localiser la gestion de la configuration de l’extension VS Code ainsi que les paramètres existants de workspace/classpath, puis déterminez comment les remplacements au niveau des modules s’intégreraient au modèle actuel. La tâche terminée doit inclure des classpaths spécifiques aux modules avec un comportement de fallback pour le workspace et l’utilisateur, ainsi que des tests pour les règles de priorité.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, typescript, vscode
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100