redhat-developer / redhat-developer/vscode-java
Renaming module folders is not synchronized with the Java Project Manager and may result in renaming ghost folders
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 2.3k
- フォーク
- 546
- 平均マージ
- 20時間 1分
- マージ済み PR(30日)
- 11
説明
Description: The Java Project Management view fails to synchronize with file system changes. When renaming a module folder via the file explorer, the Java Language Server does not detect or reflect the rename operation, resulting in a desynchronization between the project metadata and the actual file system state. The recreation of the old folder is a side effect of this synchronization failure.
Build Tool: Maven
OS: Windows 11 25H2
Steps to Reproduce:
- Open a workspace folder that contains multiple Java sub-projects (modules).
- Wait for the Java Language Server to finish importing and indexing all projects.
- Rename one of the sub-project folders (e.g., rename old-module-name to new-module-name) using the OS file
explorer or the IDE's built-in file tree. - Observe the Java Project Explorer/Manager view.
Actual Result:
- The Java Project Manager still displays old-module-name.
- The system recreates a new folder named old-module-name in the file system containing target and other
directories (side effect of the sync failure). - The new-module-name folder is treated as an unlinked plain folder rather than a Java module.
Expected Behavior:
- The Java Project Manager should detect the folder rename operation.
- The project metadata should be updated or re-indexed to reflect the name change, maintaining synchronization with
the file system.
Additional Context:
Running the command "Java: Clean Workspace Cache" and restarting the language server resolves the issue and
correctly reflects the new folder name. This confirms that the Language Server's cache retains stale file paths and
fails to monitor file system rename events, causing the desynchronization and subsequent side effects.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Java プロジェクトのインポート後に名前変更を再現し、その後、報告に記載されている Java: Clean Workspace Cache コマンドと Language Server の同期動作から着手します。完了条件は、古いフォルダーを再作成することなく Java Project Manager に新しいフォルダー名が反映され、名前を変更したフォルダーが Java モジュールとしてリンクされたままになることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, vscode
- 領域
- developer-experience, tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100