Jak mogę dodać nową aplikację do menu Otwórz za pomocą?

52

Jak mogę dodać aplikację do menu Otwórz za pomocą (pokazanego po kliknięciu prawym przyciskiem myszy) dla danego typu pliku, nie powodując, że ten plik będzie zawsze otwarty w tej aplikacji?

W tym konkretnym przypadku chciałbym opcję otwarcia pliku lokalizacji witryny internetowej (.URL) za pomocą TextEdit, przy jednoczesnym domyślnym ustawieniu przeglądarki Safari.

Używam OS 10.7.4.

KatieK
źródło
3
Jeśli program może go otworzyć, doda się do tego menu. W przeciwnym razie oznacza to, że nie można go otworzyć.
Anriëtte Myburgh
12
Nie zawsze wydaje się to prawdą. TextEdit może otwierać adresy URL, ale nie ma go w podmenu „Otwórz za pomocą”.
KatieK,

Odpowiedzi:

25
  1. Dodaj to do tablicy CFBundleDocumentTypes w /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. Zmień domyślną aplikację z powrotem na Safari w Finderze

Jeśli aplikacja jest podpisana, modyfikacja Info.plist unieważnia podpis kodu . Powoduje również awarię kilku aplikacji, takich jak TextEdit i WriteRoom, po uruchomieniu w wersji 10.8.

Lri
źródło
1
Być może to tylko mój komputer, ale to nie działa dla mnie. Po wykonaniu tej procedury (do kroku 3) TextEdit nie jest dostępny w „Otwórz za pomocą” dla plików .URL. Również modyfikacja Info.plist wydaje się powodować awarię TextEdit w wersji 10.7.
KatieK
11
Czy istnieje sposób, aby uczynić to bardziej ogólnym? Np. Chcę, aby mój edytor szesnastkowy (obecnie HexFiend) mógł otworzyć każdy cholerny typ pliku, w tym te, które nie mają rozszerzenia pliku ...
Steven Lu
@StevenLu: Utworzyłem skrót Findera w BetterTouchTool, aby otworzyć aktualnie wybrany plik w HexFiend.
biziclop,
11

Spróbuj wybrać plik w Finderze i wykonać polecenie Plik> Uzyskaj informacje. Stamtąd powinieneś być w stanie wybrać dowolną aplikację, aby ją otworzyć. Po otwarciu tego typu pliku w tej aplikacji powinien on zacząć pojawiać się w menu Otwórz za pomocą.

EDYCJA: Powyższa odpowiedź nie działa. Alternatywne sugestie:

Czułem się źle, że moja poprzednia odpowiedź była niepoprawna, więc zacząłem wyszukiwać w Internecie. Znalazłem tę wskazówkę w Mac OS X Wskazówki:

  • Kliknij z wciśniętym klawiszem Control (lub prawym przyciskiem myszy) aplikację i wybierz „Pokaż zawartość opakowania”
  • Otwórz folder Contents w pakiecie aplikacji. Znajdziesz tam plik o nazwie Info.plist. To jest lista właściwości XML, która przechowuje wszelkiego rodzaju informacje o aplikacji.
  • Otwórz plik w swoim ulubionym edytorze tekstu. Polecam Hydrę, ale TextEdit da sobie radę.
  • Wyszukaj coś, co wygląda następująco:

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

    i tak dalej, wystarczy, że aplikacja jest w stanie otworzyć się w tagach. Następnie wystarczy usunąć [ lub dodać --newtron ] sufiks dla elementów, których nie chcesz [ lub chcesz ] otworzyć aplikację.

  • Zapisz plik i zamknij go (lub zamknij edytor).

newtron
źródło
To nie wydaje się działać. W „Uzyskaj informacje” mogę „Otwórz za pomocą” tych samych aplikacji, co zwykle, lub wybrać „Inne”. Jeśli wybiorę opcję „Inne”, będę mógł wybierać spośród wszystkich aplikacji i zaznaczyć lub odznaczyć opcję „Zawsze otwieraj za pomocą”. Nawet po pierwszym otwarciu pliku za pomocą TextEditor nie pojawia się jako dodatkowa opcja w podmenu „Otwórz za pomocą”.
KatieK,
Strzelaj, masz rację. Przeredaguję odpowiedź, aby to odzwierciedlić, i zaktualizuję ją alternatywną sugestią.
newtron
Ta zaktualizowana odpowiedź nie działa sama z siebie, nawet po ponownym uruchomieniu.
KatieK,
Myślę, że ta metoda zadziałała w lampartach śnieżnych .. superuser.com/questions/222065/…
Ryan Hollingsworth
8

Drugie rozwiązanie newtron działało dla mnie, ale dopiero po otwarciu terminalu i wykonaniu następującego polecenia:

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

Po ponownym uruchomieniu systemu żądana aplikacja była w moim menu kontekstowym „otwórz za pomocą”.

Dzięki

Joseph
źródło
Jest to również przydatne, jeśli chcesz wyczyścić listę i zacząć od nowa. np. VMWare Fusion umieściło w jakiś sposób wpisy, które zostały osierocone po usunięciu odpowiedniej maszyny wirtualnej. Korzystanie z tego wyczyściło niepoprawne wpisy
ferdil
5

Zamiast otwierać plik za pomocą menu kontekstowego, możesz także przeciągnąć dowolny plik do dowolnej aplikacji, naciskając jednocześnie klawisze + . Zmusi to każdą aplikację do wypróbowania, nawet jeśli uzna, że ​​nie może tego zrobić. Używam tego cały czas.

myhd
źródło
3

Możesz dodać tę opcję jako usługę za pomocą Automatora, a następnie uruchomić ją za pomocą skrótu klawiszowego z Keyboard Maestro.

  1. Otwórz Automatori wybierz Servicetyp dokumentu.
  2. Wybierz Files and Foldersw górnym Service receives selectedmenu
  3. Wyszukaj i wybierz Open Finder Itemsakcję.
  4. Teraz wybierz TextEditwOpen with:
  5. Zapisz usługę pod nazwą, którą chcesz zobaczyć w menu

Możesz to teraz znaleźć:

  • Kliknij plik prawym przyciskiem myszy> Usługi

wprowadź opis zdjęcia tutaj

LUB

  • Menu Findera> Usługi (z wybranym plikiem)

wprowadź opis zdjęcia tutaj

Ale nie musisz się na tym kończyć!

Następnie utworzyłem makro Keyboard Maestro, więc mogę po prostu użyć skrótu: wprowadź opis zdjęcia tutaj

Mam ten pomysł z tej strony: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html

kraftydevil
źródło
To świetny sposób na to, dziękuję bardzo !!
Lucas P.,
Korzystam z usługi przez cały czas, ale zapomniałem, że zrobiłem to makro. Nie ma to jak ponowne odkrycie makra!
kraftydevil
Nigdy wcześniej nie korzystałem z Automatora (ani nie wiedziałem, co on robi), właśnie otworzyłeś dla mnie zupełnie nowy świat w OSX :)
Lucas P.,
0

Jedna kontynuacja rozwiązania newtron:

Znajdziesz tam plik o nazwie Info.plist. To jest lista właściwości XML, która przechowuje wszelkiego rodzaju informacje o aplikacji. Otwórz plik w swoim ulubionym edytorze tekstu. Polecam Hydrę, ale TextEdit da sobie radę.

Zapisz plik i zamknij go (lub zamknij edytor).

Nie możesz zapisać edytowanego pliku .plist, jeśli twoje konto nie ma odpowiednich uprawnień (problem, z którym mam teraz do czynienia - nawet w stanie administratora nie będziesz mieć uprawnień do odczytu i zapisu w niektórych plikach i folderach .. .). Aby zapisać zmiany w plikach .plist, musisz dać swojemu użytkownikowi uprawnienia do odczytu i zapisu.

Niektóre z domyślnych aplikacji na komputery Mac sprawiają, że jest to trudne, a obecnie szukam rozwiązania (zaktualizuję), aby to zrobić za pomocą TextEdit.

Montag
źródło
0

To zadziałało dla mnie: kliknij prawym przyciskiem myszy swoją aplikację i treść goto i otwórz /Applications/*****.app/Contents/Info.plist

Otwórz Plist w Xcode jako SourceCode, a następnie umieść to:

        <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>

Miałem plik „AutomatorApplet.icns” w folderze zasobów.

Xeieshan
źródło
Dodaj to, co próbowałeś osiągnąć, dodając wpis do nagrania. W chwili obecnej Twoja odpowiedź nie korzysta z przykładu (.url) podanego w pytaniu.
klanomath
-3

Szczegółowe instrukcje można znaleźć na stronie tech-recipes.com . Jak zauważyła @ Anriëtte, aplikacja powinna pojawić się w menu Otwórz za pomocą, jeśli można otworzyć określony plik.

karmatyczna
źródło
To nie działa dla mnie, ponieważ nie chcę zmieniać domyślnej aplikacji, która otwiera plik. Chcę tylko dodatkowego wyboru.
KatieK