Как я могу связать расширение файла с типом контента?

9

У меня есть несколько файлов с расширениями "module" и "inc", которые являются файлами PHP. Когда я пытаюсь открыть их, в списке приложений, которые могут их открывать, отображается только приложение, которое я установил в качестве приложения по умолчанию, хотя есть другой текстовый редактор, который может открывать файлы PHP и для которого я установил файлы с этими расширениями. быть выделены как файлы PHP.

Скриншот

Если я открою диалоговое окно «Get Info», выберите другое приложение в «Open With», а затем нажмите «Change All ...», я получу следующее.

Скриншот

Скриншот

Я хочу получить то, что показано на следующем снимке экрана, где показано меню «Открыть с помощью» для файла другого типа:

Скриншот

Есть ли способ связать эти расширения с типом содержимого, используемым для файлов PHP?
В качестве альтернативы, как я могу показать в списке приложений, показанных в меню «Открыть с помощью», все приложения, которые могут открывать файлы PHP, если Finder еще этого не делает?

Я объясню, что я хочу получить, используя скриншот RCDefaultApp.

Скриншот

Файл, использующий «модуль» в качестве расширения, в моем случае является файлом PHP (это модуль Drupal); я хочу добавить это расширение к тем, о которых сообщалось для UTI «public.php-script».

kiamlaluno
источник
Я тоже хочу это знать - ближе всего я спрашивал об UTI и сервисах запуска в SuperUser ...
bmike
Я думаю, что использование RCDefaultApp, как ответил Кунги, - путь. Но если вы считаете, что это конкретное расширение (я) должно быть сопоставлено с этими типами контента, вы можете рассмотреть возможность написать разработчикам приложений, чтобы предложить включить это.
Agos

Ответы:

3

Не существует безопасного и рекомендуемого способа достичь того, к чему вы стремитесь, потому что эта функция ОС контролируется базой данных Launch Services. Разработчики регистрируют типы файлов, поддерживаемые их приложениями, в ОС при первом запуске.

Лучший способ исправить это - обратиться к разработчику с просьбой добавить поддержку расширения файла в будущей версии их приложения.

При этом вы уже нашли единственный документированный способ, который Apple предлагает для переопределения эдиктов базы данных Launch Services. Если вы хотите копать глубже и идти по дороге меньшепутешествовал Здесь поддерживаются несколько указателей.

Существует файл .plist, который управляет частью того, что делает Launch Services, по адресу: ~ / Library / Preferences / com.apple.LaunchServices.plist

Apple отмечает, что удаление этого списка может убрать ненужные опции контекстного меню «Открыть с помощью». Но это противоположно тому, что вы после.

Это бинарный .plist, но вы можете преобразовать его в xml-версию и немного поэкспериментировать, чтобы увидеть, сможете ли вы придумать рецепт, чтобы добиться того, что вам нужно. Это не рекомендуется, это может причинить вред, и, скорее всего, в какой-то момент оно будет перезаписано ОС.

Существует также инструмент, скрытый чуть глубже в ОС, называемый lsregister, который может быть полезен при изучении сантехники Launch Services. Вот полезное объяснение lsregister и его параметров .

Сэмюэл Микел Боулз
источник
3

Альтернативой Решению, упомянутому Джерри, является Панель предпочтений RCDefaultApp . Это бесплатно, и давайте установим все соединения Application-> Content Type, Application-> URL в вашей системе.

На панели «Приложения» RCDefaultApp вы можете указать, какие типы файлов поддерживает конкретное приложение, когда вы проверяете «php» в своем редакторе, он также будет отображаться в меню «Открыть с помощью».

Kungi
источник
Он не позволяет добавлять расширения к тем, которые связаны с UTI или типом контента. Это позволяет изменить приложение по умолчанию, которое открывает файлы, что, по сути, уже разрешено Finder; разница в том, что с RCDefaultApp вы меняете его из того же места (панель настроек).
kiamlaluno
@ kiamlaluno - но вы можете создать новое moduleрасширение, а затем связать его с вашим приложением. Или в чем проблема с этим ??
Рене Ларсен
Проблема не в том, чтобы связать расширение с приложением, которое станет приложением по умолчанию для этого расширения; проблема заключается в том, чтобы автоматически заполнять список приложений в «Open With». Если вы видите третий снимок экрана, который я использовал в вопросе, Xcode, Dashcode и Console показаны для расширения «.inc», но я не связывал эти приложения с расширением.
kiamlaluno
0

В контекстном меню выберите «Информация», выберите программу для использования на панели «Открыть с помощью» и нажмите «Изменить все ...».

Gerry
источник
2
Я попробовал это, но единственный эффект - это изменение приложения по умолчанию для этих файлов, хотя я хочу сохранить приложение по умолчанию, но отображать другое приложение в списке приложений, показанных в подменю «Открыть с помощью».
kiamlaluno