Wie kann ich TextEdit dauerhaft in die Menüliste Öffnen mit ... einfügen?


25

Ich bin ein Entwickler und beschäftige mich oft mit ungewöhnlichen Dateitypen. Wenn ich eine dieser Dateien in TextEdit öffnen möchte, muss ich sie zuerst starten und dann die Datei damit öffnen oder die Datei auf das TextEdit-Symbol ziehen.

Gibt es eine Möglichkeit, die TextEdit.app dauerhaft in die Menüliste Öffnen mit ... zu verschieben, unabhängig davon, welchen Dateityp ich betrachte?

Natürlich ist dieses Verfahren für jeden Texteditor nützlich, den Sie auswählen, wenn TextEdit nicht Ihre Sache ist.


1
Ich habe auch diesen Wunsch. Derzeit behalte ich TextEdit in meinem Dock, sodass es immer zum Ziehen einer Datei zur Verfügung steht.
GEdgar,

Antworten:


19

Die einzige Möglichkeit, dies bei allen Dateitypen zu tun, besteht darin, einen Dienst in automator zu erstellen, der Ihnen die Arbeit eigentlich erleichtern soll.

  1. Öffnen Sie Automator und wählen Sie "Service".
  2. Ändern Sie in der Dropdown-Liste "Dienst empfängt ausgewählte ..." den Wert "Empfängt ausgewählte Dateien und Ordner in einer beliebigen Anwendung " in " Lesen ".
  3. Wählen Sie im linken Bereich im Bibliotheksmenü die Option "Dienstprogramme" und doppelklicken Sie auf "Shell-Skript ausführen".
  4. Ändern Sie die Dropdown-Liste "Pass Input" in "as arguments".
  5. Löschen Sie das Standardskript und ersetzen Sie es durch Folgendes:

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

Speichern Sie diese Datei so, wie es in Ihrem Kontextmenü angezeigt werden soll, beispielsweise "Mit TextEdit öffnen". Sie haben nun die Möglichkeit, eine beliebige Datei mit Textbearbeitung zu öffnen.

Es wird nicht im Menü "Öffnen mit" angezeigt, sondern ist ein separates Element im Kontextmenü, das mit allen anderen Diensten gruppiert ist, die Sie ausführen.

Nebenbei bemerkt, wenn Sie auf einem Mac entwickeln, sollten Sie sich überlegen, einen besseren Texteditor wie TextMate oder TextWrangler oder Sublime Text zu verwenden. Einige dieser Editoren bieten sogar den Service, mit dem Sie alle oben genannten Aufgaben ersparen können.


1
+1 und ja, TextEdit ist kein echter Klartext-Editor - es kann es, aber es hat keine Funktionen, die es einfacher machen, und es wäre viel lieber, Rich-Text zu bearbeiten.
NReilingh

Schön! Es wäre sogar noch besser, wenn wir dies auf alle Dateien in einem Textformat (einschließlich Quellcode und dergleichen) beschränken könnten
William Jockusch

1
Gibt es eine Möglichkeit, es im Hauptmenü anzuzeigen, anstatt es im Servicemenü suchen zu müssen? Oder zumindest nicht verwendete Elemente im Servicemenü zu verbergen ...
pqnet

@pqnet - hast du gefunden, wie das geht? Ich suche das auch: apple.stackexchange.com/questions/206068/…
Chris Snow

7

Sie können unterstützte Dateitypen hinzufügen, indem Sie die Info.plist bearbeiten , aber ich kenne keine Möglichkeit, dies für alle Dateitypen zu tun. Das Hinzufügen von UTIs wie public.data oder public.item zu einer Info.plist oder com.apple.LaunchServices.plist scheint nicht zu funktionieren.

Ich habe duti verwendet , um TextMate zur Standardanwendung für verschiedene Nur- Text-Typen zu machen:

# 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 unterstützt nicht nur das Hinzufügen von Anwendungen zum Öffnen mit Menüs, ohne diese jedoch als Standard festzulegen.


2

Hier ist eine Anpassung der von @ JamiePatt akzeptierten Antwort unter Verwendung der Verbesserung von user48595 mit dem Zusatz, dass TextEdit die Standardanwendung zum Öffnen der Datei vor dem eigentlichen Öffnen wird. Dies bedeutet, dass die Datei in Zukunft auf die übliche Weise geöffnet werden kann.

  1. Überprüfen Sie den Hexadezimalcode xattr -p com.apple.LaunchServices.OpenWith <file>, indem Sie 'file' ausführen. Hierbei handelt es sich um eine Datei, die Sie manuell mit TextEdit öffnen möchten.

  2. Öffnen Sie Automator und wählen Sie den Typ "Service" für Ihr Dokument.

  3. Wählen Sie in der Dropdown-Liste "Dienst empfängt ausgewählte" die Option "Dateien oder Ordner" aus.

  4. Fügen Sie den Schritt "Utilities -> Set Value of Variable" hinzu. Sie sollten eine Variable mit dem Namen "Storage" sehen.

  5. Fügen Sie den Schritt "Dienstprogramme -> Shell-Skript ausführen" hinzu. Wählen Sie in der Dropdown-Liste "Eingabe übergeben" die Option "Als Argumente" aus. Ersetzen Sie den Inhalt des Textfelds durch den folgenden, und stellen Sie sicher, dass der Hexadezimalcode mit dem übereinstimmt, den Sie aus dem ersten Schritt erhalten haben.

    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. Fügen Sie den Schritt "Utilities -> Get Value of Variable" hinzu. Sie sollten eine Variable mit dem Namen "Storage" sehen.

  7. Fügen Sie den Schritt "Dateien & Ordner -> Finder-Elemente öffnen" hinzu. Wählen Sie in der Dropdown-Liste "Öffnen mit" die Option "TextEdit" aus.

  8. Speichern Sie mit einem einprägsamen Namen wie TextEditify.

Wenn Sie ein Nicht-TextEdit-Dokument zum ersten Mal öffnen möchten, müssen Sie TextEditify im Kontextmenü auswählen. Nachfolgendes Öffnen kann auf normale Weise erfolgen.

Erklärung des Skripts:

Der erste xattrBefehl fügt das Attribut hinzu, das normalerweise gespeichert wird, wenn Sie manuell "Immer öffnen mit" auswählen.

Der zweite xattrBefehl stellt sicher, dass dies mit Dateien funktioniert, die aus dem Internet heruntergeladen wurden.


1

Sie können einen Workflow für das Servicemenü erstellen, wie von influenzjamie beschrieben. Sie können jedoch einfach die Option "Finder-Elemente öffnen" verwenden und TextEdit als App hinzufügen.

Es gibt eine gute Post darüber hier , die erklären , wie der Workflow im Detail erstellen.


1
Antworten auf Ask Different müssen mehr als nur ein Link sein. Es ist in Ordnung, einen Link einzufügen, aber bitte fassen Sie ihn in der Antwort zusammen oder extrahieren Sie ihn. Die Idee ist, die Antwort allein zu lassen.
Nohillside

0
  1. Öffnen Sie die Automator- Anwendung

  2. Klicken New Document

  3. Wählen Service

    Bildbeschreibung hier eingeben

  4. Ändern Sie die Services receives selected"Dateien oder Ordner"

    Bildbeschreibung hier eingeben

  5. Suchen Sie nach den Action"Open Finder Items" und ziehen Sie sie in den Workflow-Bereich

    gif

  6. Wechseln Sie Open with:zu "TextEdit" oder einer anderen gewünschten Anwendung (ich bevorzuge "Visual Studio Code")

  7. Speichern Sie Ihren Dienst logisch, wie "Öffnen mit TextEdit", wenn Sie TextEdit gewählt haben.

Sie können jetzt mit der rechten Maustaste auf einen Finder-Artikel klicken und Services-> wählen Open with TextEdit!

Vielen Dank an user48595 und den Link in seiner Antwort: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item .html


-3

Verwenden Sie einfach die Option "-e", um mit TextEdit zu öffnen: Öffnen Sie -e yourfile.whatever und es wird es in TextEdit geöffnet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.