Come inserire definitivamente TextEdit nella lista di menu Apri con ...?

21

Sono uno sviluppatore e spesso mi occupo di tipi di file insoliti. Se voglio aprire uno di questi file in TextEdit, devo prima avviarlo e quindi aprire il file con esso, oppure trascinare il file sull'icona di TextEdit.

C'è un modo per mettere permanentemente TextEdit.app nella lista del menu Apri con ... non importa quale tipo di file sto guardando?

Ovviamente questa procedura sarà utile per qualsiasi editor di testo che scegli se TextEdit non è la tua tazza di tè.

    
posta DrummerB 13.08.2012 - 19:39
fonte

5 risposte

18

L'unico modo per farlo con tutti i tipi di file è creare un servizio in automator, che in realtà dovrebbe semplificarti le cose.

  1. Apri Automator e seleziona "Servizio".
  2. Nel menu a discesa "Il servizio riceve selezionato ...", modificalo in "Ricevi selezionato file e cartelle in qualsiasi applicazione "
  3. Seleziona Utility dal menu della libreria nel riquadro di sinistra e fai doppio clic su "Esegui script di shell"
  4. Cambia il menu a discesa "Pass Input" su "as arguments"
  5. Elimina lo script predefinito e sostituisci il seguente:

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

Salva questo file come vuoi che venga visualizzato come nel menu contestuale, qualcosa come "Apri con TextEdit" e hai finito, ora avrai la possibilità di aprire qualsiasi file con la modifica del testo.

Non sarà aperto con menu, sarà un elemento separato nel menu contestuale raggruppato con qualsiasi altro servizio che hai in esecuzione.

Nota a margine, se stai sviluppando su un Mac dovresti davvero pensare a usare un editor di testo migliore come TextMate o TextWrangler o Sublime Text, alcuni di questi aggiungono anche il servizio per te per salvarti facendo tutto il sopra.

    
risposta data 14.08.2012 - 00:06
fonte
7

Puoi aggiungere tipi di file supportati modificare Info.plist , ma non conosco alcun modo per farlo per tutti i tipi di file. L'aggiunta di UTI come public.data o public.item a Info.plist o com.apple.LaunchServices.plist non sembra funzionare.

Ho usato duti per rendere TextMate l'applicazione predefinita per diversi tipi di testo semplice:

# 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 non supporta solo l'aggiunta di applicazioni da aprire con i menu senza renderli predefiniti però.

    
risposta data 01.09.2012 - 09:17
fonte
2

Ecco un adattamento della risposta accettata di @ JamiePatt, utilizzando user48595 miglioramento , con l'aggiunta che renderà TextEdit l'applicazione predefinita per aprire il file prima di aprirlo. Ciò significa che in futuro il file può essere aperto in modo normale.

  1. Verifica il codice esadecimale eseguendo xattr -p com.apple.LaunchServices.OpenWith <file> , dove "file" è un file che hai impostato manualmente per l'apertura con TextEdit.

  2. Apri Automator e scegli "Servizio" per il tuo documento.

  3. Nell'elenco a discesa "Servizio ricevuto selezionato", seleziona "file o cartelle".

  4. Aggiungi passaggio "Utilità - > Imposta valore di variabile". Dovresti vedere una variabile denominata "Archiviazione".

  5. Aggiungi passaggio "Utilità - > Esegui script di shell". Nel menu a discesa "pass input", seleziona "as argomenti". Sostituisci il contenuto del campo di testo con il sotto, assicurandoti che il codice esadecimale sia uguale a quello che hai ottenuto dal primo passaggio.

    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. Aggiungi passaggio "Utilità - > Ottieni valore della variabile". Dovresti vedere una variabile denominata "Archiviazione".

  7. Aggiungi passaggio "File e cartelle - > Apri elementi del Finder". Sotto il menu a discesa "Apri con", seleziona "TextEdit".

  8. Salva con un nome memorabile, come TextEditify.

La prima volta che vuoi aprire un documento non di TextEdit, dovrai selezionare TextEditify dal menu di scelta rapida. Le aperture successive possono avvenire nel modo normale.

Spiegazione dello script:

Il primo comando xattr aggiunge l'attributo solitamente salvato se selezioni "Apri sempre con" manualmente.

Il secondo comando xattr fa in modo che funzioni con i file scaricati da Internet.

    
risposta data 16.01.2018 - 13:09
fonte
1

È possibile creare un flusso di lavoro del menu Servizio come descritto da influencejamie. Tuttavia, puoi semplicemente utilizzare l'opzione "Apri elementi del Finder" e aggiungere TextEdit come app.

C'è un buon post su di esso qui , che spiega come creare il flusso di lavoro in modo più dettagliato.

    
risposta data 02.05.2013 - 20:39
fonte
-3

Usa l'opzione "-e" per aprire con TextEdit: apri -e il tuo file. Qualunque e lo aprirà in TextEdit.

    
risposta data 18.07.2014 - 22:00
fonte

Leggi altre domande sui tag