Comment mettre définitivement TextEdit dans la liste de menu Ouvrir avec…?

25

Je suis développeur et j'ai souvent affaire à des types de fichiers inhabituels. Si je veux ouvrir l'un de ces fichiers dans TextEdit, je dois le démarrer d'abord, puis ouvrir le fichier avec lui, ou faire glisser le fichier vers l'icône TextEdit.

Existe-t-il un moyen de mettre définitivement TextEdit.app dans la liste de menu Ouvrir avec ... quel que soit le type de fichier que je regarde?

Bien sûr, cette procédure sera utile pour l'éditeur de texte que vous choisissez si TextEdit n'est pas votre tasse de thé.

DrummerB
la source
1
J'ai aussi ce désir. Actuellement, je garde TextEdit dans mon Dock, il est donc toujours disponible pour faire glisser un fichier.
GEdgar

Réponses:

19

La seule façon de le faire avec tous les types de fichiers est de créer un service dans un automate, ce qui devrait en fait vous faciliter la tâche.

  1. Ouvrez Automator et sélectionnez "Service".
  2. Dans la liste déroulante "Le service reçoit la sélection ...", modifiez-la pour lire "reçoit les fichiers et dossiers sélectionnés dans n'importe quelle application "
  3. Sélectionnez Utilitaires dans le menu de la bibliothèque dans le volet gauche et double-cliquez sur "Exécuter le script Shell"
  4. Modifiez la liste déroulante "Passer l'entrée" en "en tant qu'arguments"
  5. Supprimez le script par défaut et remplacez-le par ce qui suit:

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

Enregistrez ce fichier comme vous voulez qu'il apparaisse dans votre menu contextuel, quelque chose comme "Ouvrir avec TextEdit" et vous avez terminé, vous aurez maintenant la possibilité d'ouvrir n'importe quel fichier avec une modification de texte.

Ce ne sera pas dans le menu ouvert avec, ce sera un élément séparé dans le menu contextuel groupé avec tous les autres services que vous avez en cours d'exécution.

De plus, si vous développez sur un Mac, vous devriez vraiment penser à utiliser un meilleur éditeur de texte comme TextMate ou TextWrangler ou Sublime Text, certains d'entre eux ajoutent même le service pour vous permettre de vous faire économiser tout ce qui précède.

JamiePatt
la source
1
+1, et oui, TextEdit n'est pas un véritable éditeur de texte en clair - il peut le faire, mais il n'a pas de fonctionnalités pour le rendre plus facile, et préfère de loin éditer du texte riche.
NReilingh
Beau! Ce serait encore mieux si nous pouvions restreindre cela à tous les fichiers au format texte (y compris le code source et autres)
William Jockusch
1
existe-t-il un moyen de le faire apparaître dans le menu principal au lieu d'avoir à chercher dans le menu de service? Ou au moins pour cacher les éléments inutilisés dans le menu de service ...
pqnet
@pqnet - avez-vous trouvé comment procéder? Je le cherche aussi: apple.stackexchange.com/questions/206068/…
Chris Snow
7

Vous pouvez ajouter des types de fichiers pris en charge en modifiant Info.plist , mais je ne connais aucun moyen de le faire pour tous les types de fichiers. L'ajout d'interfaces utilisateur comme public.data ou public.item à un Info.plist ou com.apple.LaunchServices.plist ne semble pas fonctionner.

J'ai utilisé duti pour faire de TextMate l'application par défaut pour différents types de texte brut:

# 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 ne prend pas en charge simplement l'ajout d'applications à ouvrir avec des menus sans les définir par défaut.

Lri
la source
2

Voici une adaptation de la réponse acceptée de @ JamiePatt , utilisant l' amélioration de user48595 , avec l'ajout que cela fera de TextEdit l'application par défaut pour ouvrir le fichier avant de l'ouvrir. Cela signifie qu'à l'avenir, le fichier peut être ouvert de la manière habituelle.

  1. Vérifiez le code hexadécimal en exécutant xattr -p com.apple.LaunchServices.OpenWith <file>, où «fichier» est un fichier que vous avez défini manuellement pour ouvrir avec TextEdit.

  2. Ouvrez Automator et choisissez le type "Service" pour votre document.

  3. Dans la liste déroulante "Le service reçoit la sélection", sélectionnez "fichiers ou dossiers".

  4. Ajoutez l'étape "Utilitaires -> Définir la valeur de la variable". Vous devriez voir une variable nommée "Stockage".

  5. Ajoutez l'étape "Utilitaires -> Exécuter le script Shell". Dans la liste déroulante "passer l'entrée", sélectionnez "comme arguments". Remplacez le contenu du champ de texte par celui ci-dessous, en vous assurant que le code hexadécimal est le même que celui obtenu lors de la première étape.

    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. Ajoutez l'étape "Utilitaires -> Obtenir la valeur de la variable". Vous devriez voir une variable nommée "Stockage".

  7. Ajoutez l'étape "Fichiers et dossiers -> Ouvrir les éléments du Finder". Dans la liste déroulante "Ouvrir avec", sélectionnez "TextEdit".

  8. Enregistrez avec un nom mémorable, tel que TextEditify.

La première fois que vous souhaitez ouvrir un document non TextEdit, vous devrez sélectionner TextEditify dans le menu contextuel. Les ouvertures suivantes peuvent se produire normalement.

Explication du script:

La première xattrcommande ajoute l'attribut généralement enregistré si vous sélectionnez «toujours ouvrir avec» manuellement.

La deuxième xattrcommande s'assure que cela fonctionne avec les fichiers téléchargés depuis Internet.

yodie
la source
1

Vous pouvez créer un workflow de menu Service comme décrit par influencejamie. Cependant, vous pouvez simplement utiliser l'option «Ouvrir les éléments du Finder» et ajouter TextEdit comme application.

Il y a un bon article à ce sujet ici , qui explique comment créer le flux de travail plus en détail.

user48595
la source
1
Les réponses à Ask Different doivent être plus qu'un simple lien. Il est correct d'inclure un lien, mais veuillez le résumer ou l'extraire dans la réponse. L'idée est de rendre la réponse autonome.
nohillside
0
  1. Ouvrez l' application Automator

  2. Cliquez sur New Document

  3. Choisir Service

    entrez la description de l'image ici

  4. Remplacez-le Services receives selectedpar "fichiers ou dossiers"

    entrez la description de l'image ici

  5. Recherchez les Action«éléments du Finder ouvert» et faites-le glisser dans l'espace de flux de travail

    gif

  6. Changez Open with:pour "TextEdit" ou n'importe quelle application que vous souhaitez (je préfère "Visual Studio Code")

  7. Enregistrez votre service quelque chose de logique, comme "Ouvrir avec TextEdit" si vous avez choisi TextEdit.

Vous pouvez maintenant cliquer avec le bouton droit sur n'importe quel élément du Finder et choisir Services-> Open with TextEdit!

Merci à l'utilisateur48595 et au lien affiché dans sa réponse: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item .html

spacetyper
la source
-3

Utilisez simplement l'option "-e" pour ouvrir avec TextEdit: ouvrez -e votrefichier.qui que ce soit et il l'ouvrira dans TextEdit.

Psy
la source