redhat-developer / redhat-developer/vscode-java

Module configuration support

Đang mở
#4,342 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
TypeScript
Star
2.3k
Fork
546
Merge trung bình
20 giờ 1 phút
Pull request đã merge (30 ngày)
11

Mô tả

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:

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Issue không nêu rõ các tệp cấu hình, bài kiểm thử hoặc các điểm vào của phần triển khai. Hãy bắt đầu bằng cách xác định phần xử lý cấu hình VS Code của extension và các thiết lập workspace/classpath hiện có, sau đó xác định cách các ghi đè ở cấp module sẽ phù hợp với mô hình hiện tại. Phần hoàn thành cần bao gồm các classpath riêng cho từng module với cơ chế fallback về workspace và user, cùng các bài kiểm thử cho các quy tắc ưu tiên.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java, typescript, vscode
Lĩnh vực
tooling
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.