【Mac】SpringToolSuite4(STS)でパッケージが同一階層にまとめて表示されない
概要
事象
MacのSpringToolSuite4で「Package Explorer > Package Presentation > Hierarchical」を選択した際に、以下のように同一階層にまとめて表示されない場合がある。
> aaa > bbb ← 同一階層に"aaa.bbb"のようにまとめて表示してほしいが、別の階層として表示されてしまう > ccc > ddd .DS_Store ← STS上は表示されない
原因
表示するディレクトリに.DS_Storeファイルが生成されている。
対処
以下のコマンドで.DS_Storeファイルを削除する。
find . -name .DS_Store -print -delete
補足
SpringToolSuite4ではパッケージの表示形式としてHierarchicalとFlat の2つがあり、それぞれ以下のように表示される。
- Hierarchical
> aaa.bbb > ccc > ddd
> aaa.bbb.ccc > aaa.bbb.ddd
Hierarchical表示の場合、他にファイルがない場合は同一階層にパッケージがまとめて表示されるが、.DS_Storeファイルが存在する場合には別の階層として表示されてしまう。この状態だとパッケージの階層が深い場合に開きたいファイルを開く手間が増える。
一方でFlat表示にすれば同一階層に表示されるものの、パッケージの数が多い場合にやや見づらくなる。
どのタイミングで.DS_Storeファイルが生成されるのかは不明だが、このファイルを削除することで期待通りに表示される。
削除コマンドについて
findコマンドで、対象ディレクトリ以下の指定したファイルを再帰的に削除する。
find <target_directory> -name <file_name> -print -delete
-name:findする対象のファイル名を指定
-print:対象のファイルを表示
-delete:対象のファイルを削除