redhat-developer / redhat-developer/vscode-java

Renaming module folders is not synchronized with the Java Project Manager and may result in renaming ghost folders

オープン
#4,294 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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:

  1. Open a workspace folder that contains multiple Java sub-projects (modules).
  2. Wait for the Java Language Server to finish importing and indexing all projects.
  3. 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.
  4. 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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。