redhat-developer / redhat-developer/vscode-java

Module configuration support

Offen
#4,342 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

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:

  1. User-level configuration
    Global defaults for all workspaces.
  2. Workspace-level configuration
    Overrides user settings for the current workspace.
  3. 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:

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Das Issue nennt keine Konfigurationsdateien, Tests oder Einstiegspunkte der Implementierung. Beginne damit, die Handhabung der VS Code-Konfigurationserweiterung sowie die vorhandenen Workspace-/Classpath-Einstellungen zu finden, und bestimme dann, wie Überschreibungen auf Modulebene in das aktuelle Modell passen würden. Als abgeschlossen sollte die Änderung modulspezifische Classpaths mit Workspace- und User-Fallback-Verhalten sowie Tests für die Vorrangregeln umfassen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.