Как добавить новое приложение в меню «Открыть с помощью»?

52

Как добавить приложение в меню «Открыть с» (отображается после щелчка правой кнопкой мыши) для данного типа файла, не открывая этот файл всегда с этим приложением?

В этом конкретном случае я бы хотел открыть файл местоположения веб-сайта (.URL) с помощью TextEdit, но по умолчанию использовать Safari.

Я использую ОС 10.7.4.

KatieK
источник
3
Если программа может открыть ее, она добавит себя в это меню. Иначе, это означает, что это не может открыть это.
Анриетт Майбург
12
Кажется, это не всегда так. TextEdit может открывать URL, но его нет в подменю «Открыть с помощью».
KatieK

Ответы:

25
  1. Добавьте это в массив CFBundleDocumentTypes в /Applications/TextEdit.app/Contents/Info.plist:

    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>url</string>
        </array>
    </dict>
    
  2. /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/TextEdit.app/

  3. killall Finder
  4. Измените приложение по умолчанию обратно на Safari в Finder

Если приложение подписано, изменение Info.plist лишает законной силы подпись кода . Это также приводит к аварийному завершению работы нескольких приложений, таких как TextEdit и WriteRoom, при запуске 10.8.

LRI
источник
1
Возможно, это просто мой компьютер, но это не работает для меня. После выполнения этой процедуры (до шага 3) TextEdit недоступен в разделе «Открыть с помощью» для файлов .URL. Кроме того, изменение Info.plist, по-видимому, приводит к сбою TextEdit в 10.7.
KatieK
11
Есть ли способ сделать это более общим? Например, я хочу, чтобы мой редактор hex (в настоящее время HexFiend) как опция открывал все чертовы типы файлов, включая те, которые не имеют расширения файлов ...
Стивен Лу
@StevenLu: я сделал ярлык Finder в BetterTouchTool, чтобы открыть текущий выбранный файл в HexFiend.
Бизиклоп
11

Попробуйте выбрать файл в Finder и выполните File> Get Info. Оттуда вы сможете выбрать любое приложение, чтобы открыть его. Как только вы открыли файл этого типа в этом приложении один раз, оно должно начать появляться в меню «Открыть с помощью».

РЕДАКТИРОВАТЬ: ответ выше не работает. Альтернативное предложение:

Мне было жаль, что мой предыдущий ответ был неверным, поэтому я погуглил вокруг Я нашел этот совет от Mac OS X Подсказки:

  • Нажмите (или щелкните правой кнопкой мыши) нужное приложение, удерживая клавишу Control, и выберите «Показать содержимое пакета».
  • Откройте папку «Содержимое» в комплекте приложений. Там вы найдете файл с именем Info.plist. Это список свойств XML, в котором хранится всякая информация о приложении.
  • Откройте файл в вашем любимом текстовом редакторе. Я рекомендую Hydra, но TextEdit прекрасно подойдет.
  • Найдите что-то похожее на следующее:

    <key>CFBundleTypeExtensions</key>
    <array>
        <string>txt</string>
        <string>srt</string>
        <string>suffix1</string>
        <string>suffix2</string>
        …
    

    и так далее, с достаточными возможностями приложение может открыть содержимое тегов. Затем вы просто удаляете [ или добавляете --newtron ] суффикс для элементов, которые не хотите [ или не хотите ] открывать приложение.

  • Сохраните файл и закройте его (или выйдите из редактора).

Newtron
источник
Это не похоже на работу. В «Get Info» я могу «Открыть с помощью» тех же приложений, что и обычно, или выбрать «Other». Если я выберу «Другое», я могу выбрать из всех приложений и установить или снять флажок «Всегда открывать с помощью». Даже после однократного открытия файла с помощью TextEditor он не отображается как дополнительная опция в подменю «Открыть с помощью».
KatieK
Стреляй, ты прав. Я отредактирую ответ, чтобы отразить это, и дополню его альтернативным предложением.
Ньютрон
Этот обновленный ответ не работает сам по себе, даже после перезагрузки.
KatieK
Думаю, этот метод сработал на снежном барсе .. superuser.com/questions/222065/…
Райан Холлингсворт,
8

Второе решение newtron сработало для меня, но только после того, как я открыл терминал и выполнил следующую команду:

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

После перезагрузки системы нужное приложение оказалось в моем контекстном меню «открыть с».

Спасибо

Джозеф
источник
Это также полезно, если вы хотите очистить список и начать заново. например, VMWare Fusion как-то разместил записи, которые потеряли, когда соответствующая виртуальная машина была удалена. Используя это, очистили неправильные записи
ferdil
5

Вместо открытия файла с помощью контекстного меню вы также можете перетаскивать любой файл в любое нужное приложение, нажимая клавиши + . Это заставит любое приложение попробовать, даже если оно думает, что не может этого сделать. Я использую это все время.

myhd
источник
3

Вы можете добавить опцию как Сервис с Automator, а затем активировать ее с помощью Горячей клавиши от Keyboard Maestro.

  1. Откройте Automatorи выберите Serviceтип документа.
  2. Выберите Files and Foldersв верхнем Service receives selectedменю
  3. Найдите и выберите Open Finder Itemsдействие.
  4. Теперь выберите TextEditвOpen with:
  5. Сохраните сервис с именем, которое вы хотите видеть в меню

Теперь вы можете найти это по:

  • Щелкните правой кнопкой мыши файл> Услуги

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

ИЛИ ЖЕ

  • Меню Finder> Услуги (с выбранным файлом)

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

Но вам не нужно останавливаться на достигнутом!

Затем я создал макрос Keyboard Maestro, чтобы я мог использовать горячую клавишу для этого: введите описание изображения здесь

Я получил эту идею с этого сайта: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html

kraftydevil
источник
Это отличный способ сделать это, большое спасибо!
Лукас П.
Я пользуюсь сервисом все время, но я забыл, что сделал макрос для этого. Ничего подобного открытию макроса!
kraftydevil
Я никогда раньше не использовал Automator (и не знал, что он делает), вы только что открыли для меня целый новый мир в OSX :)
Лукас П.
0

Одно продолжение решения Newtron:

Там вы найдете файл с именем Info.plist. Это список свойств XML, в котором хранится всякая информация о приложении. Откройте файл в вашем любимом текстовом редакторе. Я рекомендую Hydra, но TextEdit прекрасно подойдет.

Сохраните файл и закройте его (или выйдите из редактора).

Вы не можете сохранить отредактированный .plist, если ваша учетная запись не имеет правильных разрешений (проблема, с которой я сейчас имею дело - даже при статусе администратора у вас не будет разрешений на чтение + запись для некоторых файлов и папок). .). Чтобы сохранить изменения в файлах .plist, вы должны дать своему пользователю права на чтение и запись.

Некоторые стандартные приложения Mac затрудняют это, и в настоящее время я ищу решение (обновлю), чтобы сделать это с TextEdit.

Монтаг
источник
0

Это сработало для меня: щелкните правой кнопкой мыши свое приложение и перейдите к содержимому и откройте /Applications/*****.app/Contents/Info.plist

Откройте Plist в Xcode как SourceCode и затем поместите это:

        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>jpeg</string>
                <string>jpg</string>
                <string>png</string>
                <string>gif</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeName</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>GIFf</string>
                <string>JPEG</string>
                <string>PNGf</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
        </dict>

У меня был «AutomatorApplet.icns» в папке ресурсов.

Xeieshan
источник
Пожалуйста, добавьте то, что вы пытались достичь, добавив запись dict. Поскольку ваш ответ остается в силе, он не использует пример (.url), приведенный в вопросе.
klanomath
-3

Проверьте tech-recipes.com для подробных инструкций. Как отметил @ Anriëtte, приложение должно появиться в меню «Открыть с помощью», если оно может открыть определенный файл.

karmatic
источник
Это не работает для меня, потому что я не хочу менять приложение по умолчанию, которое открывает файл. Я просто хочу дополнительный выбор.
KatieK