Jak na stałe umieścić TextEdit na liście menu Otwórz za pomocą…

25

Jestem programistą i często mam do czynienia z nietypowymi typami plików. Jeśli chcę otworzyć jeden z tych plików w TextEdit, najpierw muszę go uruchomić, a następnie otworzyć plik za pomocą tego pliku lub przeciągnąć plik na ikonę TextEdit.

Czy istnieje sposób na trwałe umieszczenie TextEdit.app na liście menu Otwórz za pomocą ... bez względu na typ pliku, na który patrzę?

Oczywiście ta procedura będzie przydatna w każdym edytorze tekstu, który wybierzesz, jeśli TextEdit nie jest twoją filiżanką herbaty.

Perkusista B.
źródło
1
Mam również to pragnienie. Obecnie trzymam TextEdit w Docku, więc zawsze można przeciągnąć plik na.
GEdgar

Odpowiedzi:

19

Jedynym sposobem, aby to zrobić ze wszystkimi typami plików, jest utworzenie usługi w automatorze, która faktycznie powinna ci ułatwić.

  1. Otwórz Automator i wybierz „Serwis”.
  2. W menu „Usługa otrzymuje wybrane ...” zmień ją na przeczytaną „odbiera wybrane pliki i foldery w dowolnej aplikacji
  3. Wybierz Narzędzia z menu biblioteki w lewym okienku i kliknij dwukrotnie „Uruchom skrypt powłoki”
  4. Zmień menu rozwijane „Przekaż dane wejściowe” na „jako argumenty”
  5. Usuń domyślny skrypt i zastąp go następującym:

    if [ -f "$1" ] ; then
        open -a "TextEdit" "$1" ;
    fi
    

Zapisz ten plik tak, jak chcesz, aby pojawił się tak, jak w menu kontekstowym, na przykład „Otwórz za pomocą TextEdit” i gotowe - będziesz mieć teraz możliwość otwarcia dowolnego pliku z edycją tekstu.

Nie będzie w otwartym menu, będzie oddzielnym elementem w menu kontekstowym zgrupowanym z innymi uruchomionymi usługami.

Na marginesie, jeśli tworzysz na komputerze Mac, powinieneś naprawdę pomyśleć o użyciu lepszego edytora tekstu, takiego jak TextMate lub TextWrangler lub Sublime Text, niektóre z nich nawet dodają usługę, aby zaoszczędzić ci robienia wszystkich powyższych.

JamiePatt
źródło
1
+1 i tak, TextEdit nie jest prawdziwym edytorem zwykłego tekstu - może to zrobić, ale nie ma żadnych funkcji, które mogłyby to ułatwić, i wolałby raczej edytować tekst sformatowany.
NReilingh,
Piękny! Byłoby jeszcze lepiej, gdybyśmy mogli ograniczyć to do wszystkich plików w formacie tekstowym (łącznie z kodem źródłowym itp.)
William Jockusch
1
czy jest jakiś sposób, aby pojawił się w menu głównym zamiast wyszukiwania w menu serwisowym? Lub przynajmniej ukryć nieużywane przedmioty w menu serwisowym ...
pqnet
@pqnet - czy udało ci się to zrobić? Też tego szukam: apple.stackexchange.com/questions/206068/...
Chris Snow
7

Możesz dodać obsługiwane typy plików, edytując Info.plist , ale nie wiem, jak to zrobić dla wszystkich typów plików. Dodanie interfejsów użytkownika, takich jak public.data lub public.item do Info.plist lub com.apple.LaunchServices.plist, nie działa.

Użyłem duti, aby TextMate była domyślną aplikacją dla różnych typów zwykłego tekstu:

# plain text files without an extension
com.macromates.TextMate.preview public.plain-text all

# executable scripts
com.macromates.TextMate.preview public.unix-executable all

com.macromates.TextMate.preview .as all
com.macromates.TextMate.preview .ass all
com.macromates.TextMate.preview .bash all
com.macromates.TextMate.preview .bom all
com.macromates.TextMate.preview .c all
com.macromates.TextMate.preview .cfm all
com.macromates.TextMate.preview .cfml all
com.macromates.TextMate.preview .class all
com.macromates.TextMate.preview .coffee all
com.macromates.TextMate.preview .conf all
com.macromates.TextMate.preview .cpp all
com.macromates.TextMate.preview .css all
com.macromates.TextMate.preview .csv all
com.macromates.TextMate.preview .ctp all
com.macromates.TextMate.preview .dat all
com.macromates.TextMate.preview .data all
com.macromates.TextMate.preview .doc all
com.macromates.TextMate.preview .erb all
com.macromates.TextMate.preview .fields all
com.macromates.TextMate.preview .gemspec all
com.macromates.TextMate.preview .h all
com.macromates.TextMate.preview .haml all
com.macromates.TextMate.preview .hotkey all
com.macromates.TextMate.preview .hpp all
com.macromates.TextMate.preview .idx all
com.macromates.TextMate.preview .java all
com.macromates.TextMate.preview .js all
com.macromates.TextMate.preview .json all
com.macromates.TextMate.preview .keylayout all
com.macromates.TextMate.preview .kmlibrary all
com.macromates.TextMate.preview .less all
com.macromates.TextMate.preview .log all
com.macromates.TextMate.preview .m all
com.macromates.TextMate.preview .manifest all
com.macromates.TextMate.preview .md all
com.macromates.TextMate.preview .mm all
com.macromates.TextMate.preview .msass all
com.macromates.TextMate.preview .opml all
com.macromates.TextMate.preview .pg all
com.macromates.TextMate.preview .php all
com.macromates.TextMate.preview .pl all
com.macromates.TextMate.preview .plist all
com.macromates.TextMate.preview .plist all
com.macromates.TextMate.preview .py all
com.macromates.TextMate.preview .rb all
com.macromates.TextMate.preview .rd all
com.macromates.TextMate.preview .rdoc all
com.macromates.TextMate.preview .readme all
com.macromates.TextMate.preview .rhtml all
com.macromates.TextMate.preview .rst all
com.macromates.TextMate.preview .sb all
com.macromates.TextMate.preview .scss all
com.macromates.TextMate.preview .sh all
com.macromates.TextMate.preview .srt all
com.macromates.TextMate.preview .strings all
com.macromates.TextMate.preview .sub all
com.macromates.TextMate.preview .tex all
com.macromates.TextMate.preview .tsv all
com.macromates.TextMate.preview .utf all
com.macromates.TextMate.preview .xml all
com.macromates.TextMate.preview .yaml all

duti nie obsługuje tylko dodawania aplikacji, które można otwierać za pomocą menu, ale nie czyni ich domyślnymi.

Lri
źródło
2

Oto adaptacja zaakceptowanej odpowiedzi @ JamiePatt , wykorzystująca ulepszenie user48595 , z dodatkiem, że spowoduje, że TextEdit będzie domyślną aplikacją do otwierania pliku przed jego otwarciem. Oznacza to, że w przyszłości plik można otworzyć w zwykły sposób.

  1. Sprawdź kod szesnastkowy, uruchamiając xattr -p com.apple.LaunchServices.OpenWith <file>, gdzie „plik” to plik, który ręcznie ustawiłeś do otwierania za pomocą TextEdit.

  2. Otwórz Automator i wybierz „Dokument” dla swojego dokumentu.

  3. W menu rozwijanym „Usługa otrzymuje wybrane” wybierz „pliki lub foldery”.

  4. Dodaj krok „Narzędzia -> Ustaw wartość zmiennej”. Powinieneś zobaczyć zmienną o nazwie „Pamięć”.

  5. Dodaj krok „Narzędzia -> Uruchom skrypt powłoki”. W menu rozwijanym „pass input” wybierz „as arguments”. Zastąp zawartość pola tekstowego poniższym, upewniając się, że kod szesnastkowy jest taki sam jak ten, który otrzymałeś z pierwszego kroku.

    if [ -f "$1" ] ; then
        xattr -wx com.apple.LaunchServices.OpenWith "62 70 6C 69 73 74 30 30 D3 01 02 03 04 05 06 57 76 65 72 73 69 6F 6E 54 70 61 74 68 5F 10 10 62 75 6E 64 6C 65 69 64 65 6E 74 69 66 69 65 72 10 00 5F 10 1A 2F 41 70 70 6C 69 63 61 74 69 6F 6E 73 2F 54 65 78 74 45 64 69 74 2E 61 70 70 5F 10 12 63 6F 6D 2E 61 70 70 6C 65 2E 54 65 78 74 45 64 69 74 08 0F 17 1C 2F 31 4E 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63" "$1";
        xattr -d com.apple.quarantine "$1" || true;
    fi
    
  6. Dodaj krok „Narzędzia -> Uzyskaj wartość zmiennej”. Powinieneś zobaczyć zmienną o nazwie „Pamięć”.

  7. Dodaj krok „Pliki i foldery -> Otwórz elementy Findera”. W menu rozwijanym „Otwórz za pomocą” wybierz „TextEdit”.

  8. Zapisz z niezapomnianą nazwą, taką jak TextEditify.

Przy pierwszym otwarciu dokumentu innego niż TextEdit musisz wybrać TextEditify z menu po kliknięciu prawym przyciskiem myszy. Kolejne otwarcia mogą odbywać się normalnie.

Objaśnienie skryptu:

Pierwsze xattrpolecenie dodaje atrybut zwykle zapisywany, jeśli ręcznie wybierzesz „zawsze otwieraj za pomocą”.

Drugie xattrpolecenie upewnia się, że działa z plikami pobranymi z Internetu.

Jodie
źródło
1

Możesz utworzyć przepływ pracy w menu serwisowym, jak opisuje influencejamie. Możesz jednak po prostu użyć opcji „Otwórz elementy Findera” i dodać TextEdit jako aplikację.

Jest dobra wiadomość o tym tutaj , który wyjaśnia, jak utworzyć przepływ pracy w sposób bardziej szczegółowy.

użytkownik48595
źródło
1
Odpowiedzi na Ask Different muszą być czymś więcej niż tylko linkiem. Można podać link, ale proszę streść go lub fragmentuj w odpowiedzi. Chodzi o to, aby odpowiedź była samodzielna.
nohillside
0
  1. Otwórz aplikację Automator

  2. Kliknij New Document

  3. Wybierać Service

    wprowadź opis zdjęcia tutaj

  4. Zmień na Services receives selected„pliki lub foldery”

    wprowadź opis zdjęcia tutaj

  5. Wyszukaj Action„Otwórz elementy Findera” i przeciągnij go do przestrzeni przepływu pracy

    gif

  6. Zmień Open with:na „TextEdit” lub dowolną inną aplikację (wolę „Visual Studio Code”)

  7. Zapisz swoją usługę w coś logicznego, na przykład „Otwórz za pomocą TextEdit”, jeśli wybierzesz TextEdit.

Możesz teraz kliknąć prawym przyciskiem myszy dowolny element Findera i wybrać Services-> Open with TextEdit!

Podziękowania dla user48595 i link zamieszczony w jego odpowiedzi: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item .html

spacetyper
źródło
-3

Wystarczy użyć opcji „-e”, aby otworzyć za pomocą TextEdit: otwórz -e plik_pliku. Cokolwiek, a otworzy go w TextEdit.

Psy
źródło