Як в OS X ви можете змінити файл "Вид"?


16

В OS X я хотів би змінити мітку "Вид", пов'язану з файлами. Багато моїх файлів відображаються як "Простий текстовий файл", коли вони справді javascript, php, css та інші типи файлів.

У мене немає проблем з тим, щоб відкрити їх із потрібною програмою, це легко зробити - на цьому є багато тем.

Що мене помиляє, коли у мене є велика папка з великою кількістю файлів у ній, я хотів би мати можливість сортувати за видом і мати всі css, всі php та всі js-файли разом.

введіть тут опис зображення

Я побачив тип файлу, який виходить з ладу на OSX, і побачив швидку зміну, але я не впевнений, що це дійсно те, що мені потрібно.

Можливо, хтось ще займався цим раніше і знає, як це виправити?


Цікаво. Схоже, це не пов’язано з справжньою утилітою командного рядка file.
dmckee --- колишнє кошеня модератора

Невже ви можете просто встановити щось на зразок TextWrangler як обробник файлів за замовчуванням для файлів JS, PHP та CSS? Тоді вони перелічать їх у вигляді файлів TextWrangler.

Я думаю, що проблема могла бути з кодою. Даніел Бек допоміг вирішити це нижче. Однак, наступне запитання: Отже, для чого я знайшов утиліту Quickchange (вище)? У ньому є щось для 4-літерного "типу" та 4-літерного "творця" ...?
cwd

Відповіді:


8

Файл роду зазвичай встановлюється додаток , яке обробляє цей тип файлу в Launch Services. Для більшості з них це програма, що відкриває тип файлу за замовчуванням, у вашому випадку - Coda.

Програми вказують типи файлів у своєму Contents/Info.plistфайлі. Ви можете переглянути та відредагувати його, клацнувши правою кнопкою миші пакет програми та вибравши Показати зміст пакета .

Схоже, панічні люди щось зіпсували. Усі типи файлів, які вони визначають PlainTextType:

введіть тут опис зображення

Ви можете змінити ім'я типу файлу, відредагувавши всі Document Type Nameзаписи в Редакторі списку властивостей або всі CFBundleTypeNameзаписи під час редагування файлу у звичайному текстовому редакторі. Просто замініть те, що ви хочете замість цього відобразити як опис.

введіть тут опис зображення

Відредагуйте, збережіть і переконайтеся, що повідомлення про запуску служб (перезавантажте, вийдіть із системи або просто перенесіть програму в іншу папку та знову), і результат виглядає так:

введіть тут опис зображення


Повторювати це потрібно щоразу, коли буде оновлено програму, оскільки вони замінюють Info.plistфайл, який ви редагували. Найкраще повідомити про помилку розробникам компанії Panic.


і люди в Panic (ймовірно) повідомлять, що файл .php, .js або .css все ще є звичайним текстовим файлом. його семантика, і це не є метою ІПС. це не нова дискусія; ІТП вважаються неправильно зрозумілими та неправомірними з часу їх створення, частково через цю саму проблему, яка яблука, за їхньої нескінченної мудрості, поки що нічого не вирішила.
peelman

@peelman Apple не робить цього в TextEdit Info.plist. Вони насправді здатні надати належні імена типів документів. І користувачі більше дбають про колонку Finder's Kind, ніж про технічні аспекти UTI.
Даніель Бек

@db - PListEdit Pro - те саме, що редактор списку властивостей? У мене перший, і мій екран виглядає дещо інакше. Дякую за досить вичерпну відповідь :)
cwd

нм, щойно знайдений редактор списку властивостей у /Developer/Applications/Utilitiesпапці. У мене не було QS, каталогізувавши цю папку. ой.
cwd

Я шукав щось у цих рядках, але чи можна змінити, як шукач керує сортуванням, як обговорювалося тут ?
Конрад

2

У мене це сталося, коли я перейшов на Office 2016 та видалив Office 2011 - Finder вирішив, що .dotфайли (шаблони MS Word 97-2004) - це файли GraphViz DOT, навіть якщо я не встановив GraphViz, і вирішив, що Nisus Writer повинен бути додаток за замовчуванням.

Мені вдалося виправити програму за замовчуванням простим способом у Finder (Отримати інформацію / Відкрити за допомогою: / Змінити все…), але вид файлу все-таки помилявся. За відповідь Даніеля Бека я перевірив Info.plistsWord of Word і Nisus Writer, але вони обидва були правильними.

Я закінчив тим , що для відновлення реєстру Launch Services з

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

(з Терміналу) і це остаточно виправило.


1

його залежить від програми збереження, щоб встановити UTI (єдиний ідентифікатор типу) для даного файлу. якщо вам вдасться їх змінити, відредагуйте файл у будь-якій програмі, яку ви створили, і встановив їх як звичайний текст, вони, ймовірно, будуть повернені до звичайного тексту при повторному збереженні.

технічно ці файли є звичайним текстом, їх може відкрити будь-який редактор, який підтримує UTI простого тексту, що і є метою UTI, тому це не є неточністю, це семантика. Я особисто уникаю подібних проблем, розміщуючи мої зображення, таблиці стилів та файли javascript у підпапках.

незважаючи на те, вам, ймовірно, доведеться прокрутити вибраний редактор і побачити, чи підтримує він спосіб визначення зв’язків розширення файлів UTI-> або спосіб ro визначити, з чим зберігається UTI-файл.


1

Описи основних типів OS X можна змінити, відредагувавши InfoPlist.strings в CoreTypes.bundle.

Список властивостей - це скомпільований двійковий файл, тому на всякий випадок зробіть резервну копію перед редагуванням. Оновлення системи, ймовірно, перезаписують його, тому зберігайте копію або (що я рекомендую) прив’язати відредаговану версію до місця розташування оргіналу - припускаючи, що ваша копія названий InfoPlist.strings.customі знаходиться в тому ж режисі, що і оргінал:

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

cp InfoPlist.strings InfoPlist.strings.custom - ваша власна копія

mv InfoPlist.strings InfoPlist.strings.backup - рухомий оргінал

відкрийте за InfoPlist.strings.customдопомогою TextMate, оскільки він добре розбирає списки бінарних властивостей, припускаючи, що ви mateвстановлені:

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

як тільки ви закінчите свої зміни, зв’яжіть файл оригіналу на місці:

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

та перезапустіть Finder із killall Finder- після цього слід побачити зміни в Finder.

наприклад , я змінив "Portable Document Format (PDF)" = "Portable Document Format (PDF)";до "Portable Document Format (PDF)" = "PDF";і ... скажу до побачення до дратівливим довгим рядкам «Kind» в Finder :-)

До Післявведіть тут опис зображення введіть тут опис зображення

ПРИМІТКА. Я використовую англійську мову як систему системи - якщо у вас встановлено будь-яку іншу мову, вам потрібно змінити ім’я режисера на відповідну мову:

cd /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Німецька.lproj/ <- скажімо, німецька

Оновлення 1 (дізнався про плютіл):

ви можете використовувати plutilдля перетворення з бінарного формату в XML або JSON

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

після редагування .json перетворять (компілюють?) його назад у бінарний формат:

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

ОНОВЛЕННЯ 2

хочете дізнатися, де ця набридлива струна "Доброго"?

sudo find ./ -name '*.plist' -o -name '*.strings' -exec plutil -p {} \; | grep"annoying"де annoyingце річ , яка дратує с ** т з дня


0

Погляньте на дуті

Інструмент командного рядка для вибору програм за замовчуванням для типів файлів на OS X

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.