Wprowadzenie
Czasami może zdarzyć się, że po uruchomieniu swojego projektu w PhpStormie, który składa się z wielu plików, w tym kilkunastu folderów, zobaczymy coś takiego:

Czyli ewidentny brak jakichkolwiek folderów oraz oraz charakterystyczne żółte tło dla wszystkich plików.
Problem
Powyższe stanowi niezawodny znak, że coś stało się z ukrytym folderem .idea wewnątrz projektu lub z plikami, które tam są. Jeśli pierwsze słyszysz o takim katalogu, to wiedz, że powinien się on znaleźć w Twoim projekcie, bo przechowywane są w nim informacje o specyfice konfiguracji tego konkretnego projektu. PhpStorm, a także inne narzędzia od JetBrains same tworzą taki katalog, a jego brak albo "uszkodzenie" skutkuje właśnie takim widokiem wewnątrz IDE. Słowo "uszkodzenie" celowo wziąłem w cudzysłów, ponieważ pliki jako takie mogą być w pełni poprawne, ale dane wewnątrz nich mogą być wybrakowane lub nieprawidłowe.
Problem może często występować po pierwszym uruchomieniu projektu w IDE, po zmianach zaciągniętych od innych commitujących, po łączeniu gałęzi w projekcie oraz w każdej innej sytuacji, która może spowodować zmiany w strukturze projektu, które nie zostały odnotowane w katalogach folderu .idea. Może również wystąpić sytuacja, w której ktoś zacommitował swój katalog .idea, a reszta zespołu go wciągnęła, co spowodowało wspomniany efekt.
Rozwiązanie
Rozwiązań może być kilka, jednak wszystkie skupiają się wokół aktualizacji zapisanej konfiguracji projektu lub wyczyszczenia cache'a, który może blokować uwzględnienie nowych zmian. Każdy poniższy punkt może być traktowany jako osobne rozwiązanie, chociaż ja wykonuję je najczęściej w tej kolejności:
File>Invalidate Caches, tutaj również zaznaczam (od nowszych wersji PhpStorma) checkboxy "Clear file system cache and Local History" oraz "Clear downloaded shared indexes", a następnie "Invalidate and Restart". Ta akcja powinna wyczyścić cache w IDE i po zrestartowaniu wczytać jeszcze raz konfigurację z katalogu.ideaoraz ją przeindeksować. Jeśli to nie poskutkuje, to:- Zamknij projekt, przenieś folder
.ideaw jakieś inne miejsce, otwórz projekt ponownie. Teraz folder powinien zostać utworzony automatycznie i wygląd projektu powinien się "naprawić". Jeśli nie zależy Ci specjalnie na poprzedniej konfiguracji, to na tym możesz poprzestać, ale jeśli konfigurowałeś wcześniej projekt i chcesz przywrócić tę konfigurację, to zamknij projekt jeszcze raz, przenieś poprzedni katalog.ideaz powrotem do projektu i nadpisz wszystkie pliki wewnątrz. Uruchom projekt raz jeszcze. Jeśli to nie poskutkuje, to spróbuj ponownie wykonać punkt 1, a gdyby się nie udało, to: -
- Sprawdź, czy w katalogu
.ideaznajduje się pliknazwa-projektu.iml, gdzienazwa-projektuto nazwa Twojego projektu (najpewniej po prostu nazwa katalogu źródłowego). Jeśli takiego pliku tam nie ma, to utwórz go ręcznie i wpisz wewnątrz:<?xml version="1.0" encoding="UTF-8"?> <module type="WEB_MODULE" version="4"> <component name="NewModuleRootManager"> <content url="file://$MODULE_DIR$"></content> </component> </module> - Sprawdź, czy w katalogu
.ideaznajduje się plikmodules.xml. Jeśli nie, to utwórz go ręcznie i wpisz wewnątrz:<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/.idea/nazwa-projektu.iml" filepath="$PROJECT_DIR$/.idea/nazwa-projektu.iml" /> </modules> </component> </project>oczywiście zmieniając fragment
nazwa-projektuna nazwę Twojego projektu. Po zapisaniu tych plików IDE powinno natychmiast zareagować i naprawić wyświetlanie projektu. W przypadku tego kroku ani razu nie musiałem nawet restartować PhpStorma, a po restarcie oczywiście wciąż wszystko działa.
- Sprawdź, czy w katalogu
Po prawidłowym zresetowaniu/odświeżeniu konfiguracji projektu, naszym oczom powinna ukazać się oaza organizacji:

I to by było na tyle. Zauważyłem, że problem występuje u mnie często, a kolejne kroki wypracowywałem, gdy poprzednie przestały działać, więc postanowiłem zapisać tutaj rozwiązanie, żeby nigdzie nie umknęło. Oczywiście jeśli krok trzeci kiedyś zawiedzie, to dopiszę tu i czwarty i każdy kolejny, jeśli zajdzie taka potrzeba.
