Як я можу додати нову програму до меню "Відкрити"?


52

Як я можу додати програму до меню «Відкрити за допомогою» (відображається після клацання правою кнопкою миші) для заданого типу файлу, не роблячи цей файл завжди відкритим разом із цією програмою?

У цьому конкретному випадку я хотів би отримати можливість відкрити файл Text. Edit з розташуванням веб-сайту (.URL), і все ще за замовчуванням у Safari.

Я працюю ОС 10.7.4.


3
Якщо програма може її відкрити, вона додасть себе до цього меню. Інакше це означає, що він не може його відкрити.
Anriëtte Myburgh

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.


1
Можливо, це просто мій комп’ютер, але це для мене не працює. Після виконання цієї процедури (крок 3) TextEdit недоступний у розділі "Відкрити за" для файлів .URL. Крім того, зміна Info.plist, здається, також може призвести до краху TextEdit в 10.7.
KatieK

11
Чи є спосіб зробити це більш загальним? Наприклад, я хочу, щоб мій шестигранний редактор (на даний момент HexFiend) як опцію відкривав кожен проклятий тип файлу, включаючи ті, що не мають розширення файлу ...
Стівен Лу

@StevenLu: Я зробив ярлик Finder у BetterTouchTool, щоб відкрити поточно вибраний файл у HexFiend.
biziclop

11

Спробуйте вибрати файл у Finder та виконайте команду Файл> Отримати інформацію. Звідти ви зможете вибрати будь-яку програму, з якою її відкривати. Після того, як ви відкрили цей тип файлу в цій програмі один раз, він повинен почати відображатися в меню «Відкрити».

EDIT: Відповідь вище не працює. Альтернативна пропозиція:

Мені було погано, що моя попередня відповідь була невірною, тому я гуглився навколо. Я знайшов цю пораду в Mac OS X Підказки:

  • Клацніть клавішею управління (або клацніть правою кнопкою миші) відповідну програму та виберіть "Показати зміст пакета"
  • Відкрийте папку «Зміст» у пакеті програм. Там ви знайдете файл під назвою Info.plist. Це список властивостей XML, який зберігає всіляку інформацію про додаток.
  • Відкрийте файл улюбленим текстовим редактором. Я рекомендую Hydra, але TextEdit зробить просто чудово.
  • Шукайте щось таке:

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

    і так далі, при цьому достатньо, щоб програма могла відкрити, що міститься в тегах. Тоді ви просто видалите [ або додайте --newtron ] суфікс для елементів, які ви не хочете [ або хочете ], щоб програма відкривалася.

  • Збережіть файл і закрийте його (або закрийте редактор).


Це, здається, не працює. У розділі "Отримати інформацію" я можу "Відкрити за допомогою" тих же програм, що і звичайні, або вибрати "Інше". Якщо я вибрав "Інше", я можу вибрати з усіх додатків і встановити або зняти прапорець "Завжди відкривати". Навіть після відкриття файлу один раз за допомогою TextEditor, він не відображається як додаткова опція у підменю "Відкрити за допомогою".
KatieK

Стріляй, ти маєш рацію. Я відредагую відповідь, щоб відобразити це, та оновлю її альтернативною пропозицією.
Ньютрон

Ця оновлена ​​відповідь працює не сама по собі, навіть після перезавантаження.
KatieK

Подумайте, цей метод спрацював у сніжному леопарді .. superuser.com/questions/222065/…
Ryan Hollingsworth

8

Друге рішення newtron працювало на мене, але лише після того, як я відкрив Terminal і виконав наступну команду:

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

Після перезавантаження системи потрібне додаток було в моєму контекстному меню "відкрити з".

Дякую


Це також корисно, якщо ви хочете очистити список і почати заново. наприклад, VMWare Fusion розмістив записи якось там, де куди осиротіли, коли відповідна VM була видалена. За допомогою цього очищено неправильні записи
ferdil

5

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


3

Ви можете додати цю опцію як Сервіс із Автоматизатором, а потім запустити її гарячою клавішею з клавіатури Maestro.

  1. Відкрийте Automatorта виберіть Serviceтип документа.
  2. Виберіть Files and Foldersу верхньому Service receives selectedменю
  3. Знайдіть і виберіть Open Finder Itemsдію.
  4. Тепер виберіть TextEditвOpen with:
  5. Збережіть послугу з ім'ям, яке ви хочете бачити в меню

Тепер це можна знайти за:

  • Клацніть файл правою кнопкою миші> Послуги

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

АБО

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

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

Але вам не доведеться зупинятися на цьому!

Тоді я створив макрос клавіатури Maestro, щоб я міг просто використовувати клавішу клавіш, щоб це зробити: введіть тут опис зображення

Цю ідею я отримав з цього веб-сайту: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html


Це чудовий спосіб зробити це, дуже дякую !!
Лукас П.

Я весь час користуюся сервісом, але забув, що зробив макрос для цього. Нічого подібного до повторного розкриття макросу!
kraftydevil

Я ніколи раніше не використовував Automator (або знав, що це робить), ви тільки що відкрили для мене цілий новий світ в OSX :)
Лукас П.

0

Одне наступне рішення щодо рішення ньютрона:

Там ви знайдете файл під назвою 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" в папці "Ресурси".


Будь-ласка, додайте те, що ви намагалися досягти, додавши запис у дікт. Оскільки ваша відповідь стоїть зараз, вона не використовує приклад (.url), наведений у запитанні.
кланомат

-3

Ознайомтеся з tech-recipes.com для отримання детальних інструкцій. Як зазначає @ Anriëtte, додаток має з’являтися у меню «Відкрити», якщо воно може відкрити конкретний файл.


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