Mimo że wyraźnie ustawiłem preferencję Findera, aby wyświetlać wszystkie rozszerzenia plików, wciąż stwierdzam, że niektóre aplikacje nie wyświetlają rozszerzenia nazwy pliku w wyniku Spotlight.

Oto kilka przykładów.
Prowadzę Mountain Lion.



Mimo że wyraźnie ustawiłem preferencję Findera, aby wyświetlać wszystkie rozszerzenia plików, wciąż stwierdzam, że niektóre aplikacje nie wyświetlają rozszerzenia nazwy pliku w wyniku Spotlight.

Oto kilka przykładów.
Prowadzę Mountain Lion.



Odpowiedzi:
Zasadniczo jest to błąd wprowadzony w systemie macOS 10.13 High Sierra: Spotlight uwzględnia teraz ustawienie Findera, aby wyświetlać rozszerzenia plików. Wyłączenie tego ustawienia usuwa rozszerzenie .app z Spotlight.
Wiem, że to bardzo stare pytanie, ale właśnie miałem déjà-vu w 10.13 High Sierra; różni się od tego, ale ma pewne podobieństwa, więc szukałem go i natknąłem się na to pytanie, a oto moja odpowiedź:
Aplikacje są w rzeczywistości katalogami wyświetlanymi tak, jakby były pojedynczym plikiem; Apple nazywa ten pakiet (pomimo tego, że Finder nazwał go „ Pakiet ” jak w „ Pokaż zawartość pakietu ” w menu kontekstowym). Nie tylko aplikacje są pakietami, Apple używa pakietów również do frameworków, wtyczek, rozszerzeń aplikacji, usług XPI, pewnego rodzaju pakietów instalacyjnych, a także formatu przechowywania danych, jeśli przechowywane dane składają się z wielu plików, ale powinny pojawiać się jako jeden plik (np. dokument RTF ze zdjęciami może być przechowywany jako pakiet RTFD). Pakiety zawsze mają prawdziwą nazwę, nazwę wpisu pliku na dysku. Jeśli więc nie ma nic do wyświetlenia, macOS wyświetla tę nazwę wszędzie.
Jednak Info.plistw pakiecie znajduje się plik informacyjny o nazwie , który zawiera wszelkiego rodzaju metadane dotyczące pakietu. Jedną rzeczą, którą taki plik informacji może zdefiniować, jest Nazwa wyświetlana . Jeśli ustawiono taką nazwę wyświetlaną, Finder wyświetli nazwę wyświetlaną, a nie prawdziwą nazwę katalogu. To znaczy, chyba że nazwa katalogu zostanie zmieniona, co Finder może wykryć, jeśli nazwa katalogu nie pasuje do nazwy pakietu w Info.plistpliku. Przyznaję, to trochę skomplikowane. Spróbujmy na przykładzie:
My App.appInfo.plisttoMy AppInfo.plistIsMy Cool AppDzięki tej kombinacji Finder wyświetli aplikację jako My Cool App.app(lub po prostu, My Cool Appjeśli rozszerzenia są ukryte). Dopóki (1) i (2) są zgodne w nazwie, wyświetla się (3).
Jeśli teraz zmienię nazwę katalogu na My Boring App.app, to Finder wyświetli go, gdy My Boring App.apptylko (1) i (2) nie będą pasować do nazwy, wyświetli się (1), tak jakby użytkownik chciał zmienić nazwę swojej aplikacji, z Oczywiście Finder powinien wyświetlać nazwę wybraną przez użytkownika, ma to sens, prawda?
Już wystarczająco skomplikowane? Przykro mi, ale teraz staje się jeszcze bardziej skomplikowane. Wszystkie wartości Info.plistwyświetlane użytkownikom mogą być zlokalizowane , więc jeśli twój system jest ustawiony na angielski w USA, wyświetlana nazwa pakietu może być My Cool App, ale jeśli system jest ustawiony na angielski w Wielkiej Brytanii, może być My Amazing App. Jeśli istnieje lokalizacja dla bieżącego języka systemu, Finder wyświetli tę lokalizację, ale ponownie, tylko jeśli nazwy (1) i (2) pasują, w przeciwnym razie (1) ponownie wygra.
Lokalizowanie odbywa się poprzez umieszczenie .stringsplików w wiązkach język podkatalogów, które są nazwane <x>.lproj, gdzie <x>może być tylko kod języka, na przykład en.lprojdla języka angielskiego, fr.lprojdla francuskich itp Ale może być też język + kraj, jak en_US.lproj, en_GB.lproj, en_AU.lproji tak dalej. Wewnątrz znajduje się plik o nazwie, InfoPlist.stringsktóry może zastąpić podstawowe wartości tego Info.plistpliku. Jeśli nie znaleziono pasującej lokalizacji, używane są wartości z lokalizacji podstawowej (nazwany region programistyczny ), który jest również zdefiniowany w Info.plistpliku. Jeśli nie zdefiniowano takiej lokalizacji, wartości z Info.plistsą używane bezpośrednio.
Spotlight zachowuje się jak Finder, jeśli w nazwie (3) wyświetlane jest dopasowanie (1) i (2), bezpośrednio lub z pasującej lokalizacji. Jeśli (3) nie jest ustawione, wyświetla się (1). Ale w przeciwieństwie do Findera nie zawsze dodaje .approzszerzenie, nawet jeśli jest wymagane w preferencjach Findera. Nigdy nie byłem w stanie znaleźć dokładnego wzorca zachowania, ale pewna kombinacja ustawień uniemożliwi Spotlight pokazywanie rozszerzenia, niezależnie od tego, co skonfigurowałeś. Dla niektórych użytkowników jest to ustalone przez zmianę ustawienia Finder, a następnie działa sudo mdutil -E /w Terminal(który został ponownie spis wszystkiego). Ale to nie działa dla wszystkich użytkowników, co może mieć coś wspólnego z wybranym językiem / regionem.
Zasadniczo jest to błąd. Ponowne indeksowanie to naprawia lub nie można tego naprawić. A zachowanie zostało zmienione przez Apple w niektórych wydaniach macOS i pozostało stałe później ... to znaczy do 10.13 High Sierra. Nagle wszystkie moje aplikacje mają .approzszerzenie w Spotlight, które pasuje do mojego ustawienia Findera, podczas gdy w 10.12 Sierra żadna aplikacja nie miała rozszerzenia w Spotlight, pomimo ustawienia Findera, chyba że zmieniłem jego nazwę lub nie miałem wielu kopii leżących w pobliżu.
Wygląda na to, że dzieje się tak, gdy Spotlight indeksuje aplikacje przed wprowadzeniem ustawienia ukrywania rozszerzeń. Powinieneś spróbować ponownie zindeksować aplikacje, aby rozwiązać ten problem.
Przejdź do karty Prywatność w preferencjach Spotlight i dodaj katalog Aplikacje do wykluczonych lokalizacji. To powinno usunąć wszystkie aplikacje z indeksu Spotlight. Następnie usuń go ponownie z wykluczonych lokalizacji, aby Spotlight ponownieindeksował aplikacje z prawidłowymi ustawieniami. Po ponownym indeksowaniu rozszerzenie „.app” powinno zostać usunięte ze wszystkich wyników.
Natychmiast rozwiąże problem .app