IDE

Naprawa plików projektu PhpStorm

Pliki projektu PhpStorm

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:

Niewłaściwe wyświetlanie plików projektu

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:

  1. 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 .idea oraz ją przeindeksować. Jeśli to nie poskutkuje, to:
  2. Zamknij projekt, przenieś folder .idea w 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 .idea z 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:
    1. Sprawdź, czy w katalogu .idea znajduje się plik nazwa-projektu.iml, gdzie nazwa-projektu to 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>
    2. Sprawdź, czy w katalogu .idea znajduje się plik modules.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-projektu na 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.

Po prawidłowym zresetowaniu/odświeżeniu konfiguracji projektu, naszym oczom powinna ukazać się oaza organizacji:

Prawidłowe wyświetlanie plików projektu

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.

  • admin
  • , zaktualizowano

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *