Jak mogę powiązać rozszerzenie pliku z typem zawartości?

9

Mam pliki z rozszerzeniem „module” i „inc”, które są plikami PHP. Kiedy próbuję je otworzyć, lista aplikacji, które mogą je otworzyć, pokazuje tylko aplikację, którą ustawiłem jako aplikację domyślną, mimo że istnieje inny edytor tekstowy, który może otwierać pliki PHP i dla których ustawiłem pliki z tymi rozszerzeniami do podświetlenia jako pliki PHP.

zrzut ekranu

Jeśli otworzę okno dialogowe „Uzyskaj informacje”, wybierz inną aplikację w „Otwórz za pomocą”, a następnie kliknij „Zmień wszystko ...”, co otrzymuję, to:

zrzut ekranu

zrzut ekranu

Chcę uzyskać to, co pokazano na poniższym zrzucie ekranu, który pokazuje menu „Otwórz za pomocą” dla innego typu pliku:

zrzut ekranu

Czy istnieje sposób na powiązanie tych rozszerzeń z typem zawartości używanym do plików PHP?
Alternatywnie, jak mogę wyświetlić na liście aplikacji wyświetlanych w menu „Otwórz za pomocą” wszystkie aplikacje, które mogą otwierać pliki PHP, gdy Finder jeszcze tego nie robi?

Wyjaśnię, co chcę uzyskać, używając zrzutu ekranu aplikacji RCDefaultApp.

zrzut ekranu

Plik wykorzystujący „moduł” jako rozszerzenie jest plikiem PHP, w moim przypadku (jest to moduł Drupal); chcę dodać to rozszerzenie do tych zgłaszanych dla interfejsu użytkownika „public.php-script”.

kiamlaluno
źródło
Jestem chętny do wiedzą o tym, jak dobrze - najbliższa stałam z prośbą o UTI i Launch Services na superużytkownika ...
bmike
Myślę, że sposobem jest użycie RCDefaultApp jako odpowiedzi Kungi. Ale jeśli uważasz, że to konkretne rozszerzenie powinno zostać zamapowane na te typy treści, możesz napisać do twórców aplikacji, aby zaproponował włączenie tego.
Agos,

Odpowiedzi:

3

Nie ma bezpiecznego i wskazanego sposobu na osiągnięcie tego, czego szukasz, ponieważ ta funkcja systemu operacyjnego jest kontrolowana przez bazę danych Launch Services. Programiści rejestrują typy plików, które obsługują ich aplikacje w systemie operacyjnym przy pierwszym uruchomieniu.

Najlepszym sposobem na rozwiązanie tego problemu jest zwrócenie się do programisty z prośbą o dodanie obsługi rozszerzenia pliku w przyszłej wersji ich aplikacji.

Powiedziawszy to, znalazłeś już jedyny udokumentowany sposób, który Apple oferuje w celu zastąpienia edyktów bazy danych Launch Services. Jeśli chcesz kopać głębiej i wybrać mniejszą drogępodróżował obsługiwane tutaj jest kilka wskazówek.

Plik .plist, który reguluje część tego, co robi usługi uruchamiania, znajduje się pod adresem: ~ / Library / Preferences / com.apple.LaunchServices.plist

Apple zauważa, że usunięcie tej listy może usunąć niepożądane opcje menu kontekstowego Otwórz. Ale to jest przeciwieństwo tego, czego szukasz.

Jest to binarny .plist ale można przekształcić ją w wersji xml i trochę poeksperymentować, aby zobaczyć, czy można wymyślić przepis, aby osiągnąć to, co jesteś po. Nie jest to wskazane, może spowodować szkody i najprawdopodobniej zostanie w pewnym momencie nadpisane przez system operacyjny.

Istnieje również narzędzie ukryte nieco głębiej w systemie operacyjnym o nazwie lsregister, które może być pomocne w badaniu hydrauliki Launch Services. Oto pomocne wyjaśnienie programu lsregister i jego opcji .

Samuel Mikel Bowles
źródło
3

Alternatywą dla rozwiązania wspomnianego przez Gerry'ego jest okienko preferencji RCDefaultApp . Jest bezpłatny i pozwala ustawić wszystkie połączenia aplikacji-> typ treści, aplikacji-> URL w systemie.

W okienku „Aplikacje” RCDefaultApp możesz ustawić, jakie typy plików obsługuje konkretna aplikacja. Gdy zaznaczysz „php” w Edytorze, będzie on również wyświetlany w menu „Otwórz za pomocą”.

Kungi
źródło
Nie pozwala dodać rozszerzenia do tych związanych z UTI lub typem treści. Pozwala zmienić domyślną aplikację, która otwiera pliki, co zasadniczo jest już dozwolone w Finderze; różnica polega na tym, że w RCDefaultApp zmieniasz go z tego samego miejsca (panel preferencji).
kiamlaluno
@ kiamlaluno - ale możesz utworzyć nowe modulerozszerzenie, a następnie powiązać je z aplikacją. A jaki jest z tym problem?
Rene Larsen,
Problemem nie jest powiązanie rozszerzenia z aplikacją, która stałaby się aplikacją domyślną dla tego rozszerzenia; problemem jest automatyczne wypełnienie listy aplikacji w „Otwórz za pomocą”. Jeśli widzisz trzeci zrzut ekranu, którego użyłem w pytaniu, Xcode, Dashcode i Konsola są wyświetlane dla rozszerzenia „.inc”, ale nie skojarzyłem tych aplikacji z tym rozszerzeniem.
kiamlaluno
0

W menu kontekstowym wybierz polecenie Uzyskaj informacje, wybierz program, którego chcesz użyć w okienku „Otwórz za pomocą:” i kliknij „Zmień wszystko ...”

Gerry
źródło
2
Próbowałem tego, ale jedynym efektem jest zmiana domyślnej aplikacji dla tych plików, podczas gdy chcę zachować domyślną aplikację, ale pokazuję inną aplikację na liście aplikacji pokazanej w podmenu „Otwórz za pomocą”.
kiamlaluno