Enhancement: Improve Maven multi-module support and Projects view to match VSCode-like unified project management

已关闭
#9,572 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 2 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
活跃
技术栈
java

调研方向

从 Maven 项目提供程序和 Projects 视图的入口点开始,使用包含已声明模块的父 pom.xml 作为复现案例。比较未打开的子模块和根文件在 Projects 和 Files 视图中的表现。完成的标准是:子模块会自动加载并嵌套,文件获得 Java 支持,并且请求的根文件会出现在统一视图中。

由索引模型根据 Issue 内容生成。

描述

kind:feature Maven needs:triage UI
Description

Affected Version

All

Project Type

Maven multi-module project

Component

Maven support / Projects view / Project UI

What happened (current behavior)
  1. 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.
  2. 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.
  3. 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
  1. Open a standard Maven multi-module project (parent pom.xml with > list).
  2. Observe the Projects view: only the parent project is loaded; submodules are not auto-imported.
  3. Open several submodules: they appear as top-level entries, not nested under parent.
  4. Open a Java file from an unopened submodule via Files view: no IDE intelligence.
  5. Check root directory: README.md and other config files are missing in Projects view.
What you would like to happen (expected behavior)
  1. 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.
  2. 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.
  3. 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

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

apache/netbeans 的其他 Issue

查看 apache/netbeans 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。