redhat-developer / redhat-developer/vscode-java

Module configuration support

オープン
#4,342 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
TypeScript
スター
2.3k
フォーク
546
平均マージ
20時間 1分
マージ済み PR(30日)
11

説明

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:

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

この issue では、設定ファイル、テスト、実装のエントリーポイントが指定されていません。まず、拡張機能の VS Code 設定処理と既存の workspace/classpath 設定を見つけ、次にモジュールレベルの上書きを現在のモデルにどのように組み込めるかを判断してください。完了条件には、workspace と user のフォールバック動作を備えたモジュール固有の classpath と、優先順位ルールのテストを含める必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, typescript, vscode
領域
tooling
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。