redhat-developer / redhat-developer/vscode-java
Module configuration support
まだ誰も着手していません。
- 主要言語
- 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:
- 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:
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
この issue では、設定ファイル、テスト、実装のエントリーポイントが指定されていません。まず、拡張機能の VS Code 設定処理と既存の workspace/classpath 設定を見つけ、次にモジュールレベルの上書きを現在のモデルにどのように組み込めるかを判断してください。完了条件には、workspace と user のフォールバック動作を備えたモジュール固有の classpath と、優先順位ルールのテストを含める必要があります。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, typescript, vscode
- 領域
- tooling
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100