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


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.