Enhancement: Improve Maven multi-module support and Projects view to match VSCode-like unified project management
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 技术栈
- java
调研方向
从 Maven 项目提供程序和 Projects 视图的入口点开始,使用包含已声明模块的父 pom.xml 作为复现案例。比较未打开的子模块和根文件在 Projects 和 Files 视图中的表现。完成的标准是:子模块会自动加载并嵌套,文件获得 Java 支持,并且请求的根文件会出现在统一视图中。
由索引模型根据 Issue 内容生成。
描述
Description
Affected Version
All
Project Type
Maven multi-module project
Component
Maven support / Projects view / Project UI
What happened (current behavior)
- Maven multi-module project loading
- When opening a Maven parent project, NetBeans does not auto-detect and load all declared submodules in the Projects view.
- Each submodule must be opened individually; once opened, submodules appear as top-level siblings with the parent project (flat list), not nested under the parent.
- With 20+ submodules, the Projects view becomes cluttered, unstructured, and hard to navigate.
- Unopened submodules break IDE features
- Unopened submodules are visible in the Files view (physical file system) but not in the Projects view.
- Opening Java files from unopened modules treats them as plain text files: no code completion, static analysis, error checking, breakpoint debugging, or refactoring support.
- Projects view missing root files
- Key root files (README.md, .gitignore, LICENSE, docker-compose.yml, .gitlab-ci.yml, etc.) are not shown in the Projects view.
- Users must switch back and forth between Projects and Files views to view/edit these files, which is disruptive and inefficient.
Steps to reproduce
- Open a standard Maven multi-module project (parent pom.xml with
>list). - Observe the Projects view: only the parent project is loaded; submodules are not auto-imported.
- Open several submodules: they appear as top-level entries, not nested under parent.
- Open a Java file from an unopened submodule via Files view: no IDE intelligence.
- Check root directory: README.md and other config files are missing in Projects view.
What you would like to happen (expected behavior)
- Auto‑detect & nest all Maven submodules
- Open parent pom.xml → automatically recognize and load all submodules declared in pom.xml.
- Display submodules hierarchically nested under their parent module in Projects view (not flat list).
- Support large multi‑module projects (20+ modules) with clean, collapsible tree structure.
- Full IDE support without manually opening submodules
- Any file from any submodule (opened via Projects or Files view) gets full Java intelligence: completion, linting, debugging, goto definition, refactoring.
- No need to manually “open” a submodule to use IDE features.
- Unified Projects view = logical structure + physical files
- Show root project files (README.md, .gitignore, config files) directly in Projects view, under parent/module root nodes.
- Eliminate constant switching between Projects and Files views.
- Deliver a unified, VSCode‑like project explorer that combines logical Maven structure and physical file visibility.
Use case/motivation
This improvement is critical for enterprise Java development with large Maven multi‑module projects.
Current behavior:
- Slows down daily navigation and file lookup
- Breaks debugging and coding assistance for unopened modules
- Forces context switching between two views
- Scales poorly for teams with many modules
A unified, hierarchical Projects view matching modern IDE ergonomics will greatly improve productivity and make NetBeans more competitive for professional Maven‑based development.
Proposal
Redesign the Maven project provider and Projects view to:
- Parse full multi‑module tree at project open time
- Render parent‑module hierarchy natively
- Enable full language server/debugger support for all submodules by default
- Show configurable root files (README, configs) in Projects view
- Merge logical project structure and physical file visibility into one coherent view
Related issues
No response
Are you willing to submit a pull request?
No
- 主要语言
- Java
- 星标
- 3.1k
- 派生
- 945
- 平均合并
- 3 天 19 小时
- 30 天内合并 PR
- 50
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/netbeans 的其他 Issue
-
Contribution welcome kind:feature Platform
难度 2/5 1-3 小时 新手友好度 72/100
apache/netbeans#9614 · 2 条评论 ·
维护者通常 2 天内回复
-
kind:bug LSP needs:triage
难度 2/5 1-3 小时 新手友好度 78/100
apache/netbeans#9548 · 1 条评论 ·
维护者通常 2 天内回复
-
Editor Java kind:feature needs:triage
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 2 天内回复
-
kind:bug needs:triage os:linux os:macos Platform UI
难度 1/5 1-3 小时 新手友好度 68/100
维护者通常 2 天内回复
-
kind:bug needs:triage
难度 1/5 1-3 小时 新手友好度 68/100
维护者通常 2 天内回复
相似的 Issue
-
Type: Bug
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
MCP add-on: JSON responses with non-ASCII characters are truncated (wrong Content-Length)可能已有人在做 @dhanushbs10 今天认领。 未关闭add-on bug in:mcp
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
vaadin-map
难度 2/5 1-3 小时 新手友好度 70/100
vaadin/flow-components#10586 ·
维护者通常 1 天内回复
-
WeReadInstaller writes the launcher database on the main thread at handover (Activity pause timeout)未关闭bug good first issue
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 63/100
wpilibsuite/SystemcoreTesting#446 ·
维护者通常 1 天内回复