W OS X, jak zmienić „rodzaj” pliku?

16

W systemie OS X chciałbym zmienić etykietę „Rodzaj” powiązaną z plikami. Wiele moich plików jest wyświetlanych jako „zwykły plik tekstowy”, gdy są one naprawdę javascript, php, css i innymi typami plików.

Nie mam problemu z otwieraniem ich przy pomocy aplikacji, którą chcę, jest łatwa do zrobienia - jest w niej wiele wątków.

Problemem jest to, że mam duży folder z dużą ilością plików, chciałbym móc sortować według rodzaju i mieć wszystkie pliki css, wszystkie php i wszystkie js razem.

wprowadź opis zdjęcia tutaj

Widziałem typ pliku, który ulega awarii w OSX, i widziałem szybką wymianę, ale nie jestem pewien, czy naprawdę tego potrzebuję.

Być może ktoś już się tym zajął i wie, jak to naprawić?

cwd
źródło
Ciekawy. Wydaje się, że nie jest to powiązane z prawdziwym narzędziem wiersza poleceń file.
dmckee --- były moderator kociak
Z pewnością możesz po prostu ustawić coś takiego jak TextWrangler jako domyślny moduł obsługi plików JS, PHP i CSS? Następnie wyświetli je jako pliki TextWrangler.
Myślę, że problem mógł dotyczyć Cody. Daniel Beck pomógł rozwiązać to poniżej. Jednak kolejne pytanie: więc do czego służy narzędzie szybkiej wymiany, które znalazłem (powyżej)? Ma coś dla 4-literowego „typu” i 4-literowego „twórcy” ...?
cwd 28.03.11

Odpowiedzi:

8

Plik rodzaju jest zwykle ustawiana przez aplikację, która uchwyty tego typu plików w Launch Services. W przypadku większości z nich jest to aplikacja domyślnie otwierająca typ pliku, w Twoim przypadku Coda.

Aplikacje określają typy plików w swoich Contents/Info.plistplikach. Możesz go zobaczyć i edytować, klikając pakiet aplikacji prawym przyciskiem myszy i wybierając opcję Pokaż zawartość pakietu .

Wygląda na to, że Panikowie coś pomieszali. Wszystkie typy plików, które definiują to PlainTextType:

wprowadź opis zdjęcia tutaj

Możesz zmienić nazwę typu pliku, edytując wszystkie Document Type Namewpisy w Edytorze listy właściwości lub wszystkie CFBundleTypeNamewpisy podczas edycji pliku w zwykłym edytorze tekstu. Zamiast tego po prostu zamień to, co chcesz pokazać jako opis.

wprowadź opis zdjęcia tutaj

Edytuj, zapisz i upewnij się, że powiadomienia usługi uruchamiania (uruchom ponownie, wyloguj się lub po prostu przenieś aplikację do innego folderu i wróć z powrotem), a wynik wygląda następująco:

wprowadź opis zdjęcia tutaj


Powtórz tę czynność za każdym razem, gdy pojawi się aktualizacja aplikacji, ponieważ zastępują one Info.plistedytowany plik. Najlepiej zgłosić błąd programistom w Panic.

Daniel Beck
źródło
a ludzie z Panic (prawdopodobnie) poinformują, że plik .php, .js lub .css jest nadal zwykłym plikiem tekstowym. jego semantyka, a to nie jest cel UTI. to nie jest nowa debata; UTI wydawały się niezrozumiane i nadużywane od samego początku, częściowo z powodu tego właśnie problemu, którego jabłko, w swojej nieskończonej mądrości, nie zrobiło jeszcze nic, aby się z tym zmierzyć.
peelman
@peelman Apple nie robi tego w TextEdit Info.plist. Są w stanie podać prawidłowe nazwy typów dokumentów. A użytkownikom bardziej zależy na kolumnie Rodzaj Findera niż na technicznych aspektach UTI.
Daniel Beck
@db - czy PListEdit Pro to to samo, co edytor listy właściwości? Mam pierwszy i mój ekran wygląda trochę inaczej. Dzięki za dość wyczerpującą odpowiedź :)
cwd
nm, właśnie znalazłem Edytor listy właściwości w /Developer/Applications/Utilitiesfolderze. Nie miałem QS katalogującego ten folder. ups.
cwd 28.03.11
Szukałem czegoś na tych liniach, ale czy można zmienić sposób, w jaki wyszukiwarka zarządza sortowaniem, jak omówiono tutaj ?
Konrad
2

Zdarzyło mi się to po uaktualnieniu do pakietu Office 2016 i usunięciu pakietu Office 2011 - Finder zdecydował, że .dotpliki (szablony MS Word 97-2004) są plikami GraphViz DOT, mimo że nie zainstalowałem GraphViz, i zdecydował, że Nisus Writer powinien być domyślna aplikacja.

Udało mi się w prosty sposób naprawić domyślną aplikację w Finderze (Uzyskaj informacje / Otwórz za pomocą: / Zmień wszystko…), ale rodzaj pliku nadal był nieprawidłowy. Według odpowiedzi Daniela Becka sprawdziłem Info.plistsWord 2016 i Nisus Writer, ale oba były prawidłowe.

I skończyło się na tym, aby odbudować rejestru uruchomienia usługi z

/System/Library/Frameworks/CoreServices.framework/Versions/Current/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -kill -r -domain local -domain system -domain user

(z terminala) i to w końcu to naprawiło.

David Moles
źródło
1

jego zadaniem jest program zapisujący, aby ustawić UTI (jednolity identyfikator typu) dla danego pliku. jeśli uda ci się je zmienić, a następnie edytuj plik w dowolnym programie, w którym je utworzyłeś, i ustaw jako zwykły tekst, prawdopodobnie zostaną one przywrócone do zwykłego tekstu podczas ponownego zapisywania.

technicznie te pliki SĄ zwykłym tekstem, mogą być otwierane przez dowolny edytor obsługujący zwykły tekst UTI, co jest celem, dla którego UTI służą, więc nie jest to niedokładność, jest to ćwiczenie semantyki. osobiście unikam takich problemów, umieszczając moje obrazy, arkusze stylów i pliki javascript w podfolderach.

niezależnie od tego, prawdopodobnie będziesz musiał przeszukać wybranego edytora i sprawdzić, czy obsługuje on sposób definiowania relacji rozszerzenia pliku UTI-> lub sposób definiowania, za pomocą którego pliku UTI jest zapisywany plik.

peelman
źródło
1

Opisy typów rdzeni OS X można zmienić, edytując InfoPlist.strings w CoreTypes.bundle.

Lista właściwości jest skompilowanym plikiem binarnym, więc na wszelki wypadek wykonaj kopię zapasową przed edycją. Aktualizacje systemu prawdopodobnie ją zastąpią , więc zachowaj kopię lub (zalecam) połącz edytowaną wersję z lokalizacją orginalu - zakładając, że twoja kopia jest o nazwie InfoPlist.strings.customi jest w tym samym katalogu co oryginał:

cd /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj

cp InfoPlist.strings InfoPlist.strings.custom - Twoja niestandardowa kopia

mv InfoPlist.strings InfoPlist.strings.backup - ruchome orginal

otwórz za InfoPlist.strings.custompomocą TextMate, ponieważ ładnie analizuje listy właściwości binarnych, zakładając, że masz matezainstalowane:

mate /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj/InfoPlist.strings.custom

po zakończeniu edycji połącz oryginalny plik w miejscu:

sudo ln -s /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj/InfoPlist.strings.custom /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj/InfoPlist.strings

i uruchom ponownie Findera za pomocą killall Finder- po tym powinieneś zobaczyć zmiany w Finderze .

na przykład Zmieniłem "Portable Document Format (PDF)" = "Portable Document Format (PDF)";się "Portable Document Format (PDF)" = "PDF";i ... powiedzieć bye bye do irytujących długich ciągów „rodzaj” w Finderze :-)

Przed Powprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

UWAGA: Używam angielskiego jako języka systemu - jeśli masz inny zestaw języków, musisz zmienić nazwę katalogu na odpowiedni język:

cd /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Niemiecki.lproj/ <- na przykład powiedzmy niemiecki

Aktualizacja 1 (dowiedziona się o plutil):

możesz użyć plutildo konwersji z formatu binarnego na XML lub JSON

sudo plutil -convert json InfoPlist.strings -o InfoPlist.strings.json

po edycji pliku .json przekonwertuj go (skompiluj?) z powrotem na format binarny:

sudo plutil -convert binary1 InfoPlist.strings.json -o InfoPlist.strings

AKTUALIZACJA 2

chcesz dowiedzieć się, gdzie są te irytujące „miłe” struny?

sudo find ./ -name '*.plist' -o -name '*.strings' -exec plutil -p {} \; | grep"annoying"gdzie annoyingjest rzecz, która denerwuje tego dnia

PJJ
źródło
0

Spójrz na duti

Narzędzie wiersza polecenia do wybierania domyślnych aplikacji dla typów plików w systemie OS X

ocodo
źródło