redhat-developer / redhat-developer/vscode-java
Module configuration support
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 546
- Avg merge
- 20h 1m
- Merged PRs (30d)
- 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:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue does not name configuration files, tests, or implementation entry points. Start by locating the extension's VS Code configuration handling and existing workspace/classpath settings, then determine how module-level overrides would fit the current model. Done should include module-specific classpaths with workspace and user fallback behavior, plus tests for the precedence rules.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, typescript, vscode
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100