¿Cómo colocar permanentemente TextEdit en la lista de menú Abrir con...?

Soy desarrollador y a menudo trato con tipos de archivos inusuales. Si quiero abrir uno de estos archivos en TextEdit, primero tengo que iniciarlo y luego abrir el archivo con él, o arrastrar el archivo al icono de TextEdit.

¿Hay alguna manera de colocar permanentemente TextEdit.app en la lista de menú Abrir con... sin importar el tipo de archivo que esté viendo?

Por supuesto, este procedimiento será útil para cualquier editor de texto que elija si TextEdit no es su taza de té.

Yo también tengo este deseo. Actualmente, mantengo TextEdit en mi Dock, por lo que siempre está disponible para arrastrar un archivo.

Respuestas (6)

La única forma de hacer esto con todos los tipos de archivos es crear un servicio en Automator, que en realidad debería facilitarle las cosas.

  1. Abra Automator y seleccione "Servicio".
  2. En el menú desplegable "El servicio recibe los seleccionados...", cámbielo para que diga "recibe los archivos y carpetas seleccionados en cualquier aplicación ".
  3. Seleccione Utilidades en el menú de la biblioteca en el panel izquierdo y haga doble clic en "Ejecutar script de Shell"
  4. Cambie el menú desplegable "Pasar entrada" a "como argumentos"
  5. Elimine el script predeterminado y reemplácelo con lo siguiente:

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

Guarde este archivo como desee que aparezca en su menú contextual, algo así como "Abrir con TextEdit" y listo, ahora tendrá la opción de abrir cualquier archivo con edición de texto.

No estará en el menú abierto con, será un elemento separado en el menú contextual agrupado con cualquier otro servicio que esté ejecutando.

En una nota al margen, si está desarrollando en una Mac, realmente debería pensar en usar un mejor editor de texto como TextMate o TextWrangler o Sublime Text, algunos de estos incluso agregan el servicio para que no tenga que hacer todo lo anterior.

+1, y sí, TextEdit no es un verdadero editor de texto sin formato: puede hacerlo, pero no tiene ninguna característica para hacerlo más fácil, y preferiría editar texto enriquecido.
¡Hermosa! Sería aún mejor si pudiéramos restringir esto a todos los archivos en formato de texto (incluido el código fuente y similares)
¿Hay alguna forma de que aparezca en el menú principal en lugar de tener que buscar en el menú de servicio? O al menos para ocultar elementos no utilizados en el menú de servicio...
@pqnet - ¿Encontraste cómo hacer esto? Estoy buscando esto también: apple.stackexchange.com/questions/206068/…

Puede agregar tipos de archivos compatibles editando Info.plist , pero no conozco ninguna forma de hacerlo para todos los tipos de archivos. Agregar UTI como public.data o public.item a Info.plist o com.apple.LaunchServices.plist no parece funcionar.

He usado duti para hacer de TextMate la aplicación predeterminada para diferentes tipos de texto sin formato:

# 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

Sin embargo, duti no admite simplemente agregar aplicaciones para abrirlas con menús sin establecerlas como predeterminadas.

Aquí hay una adaptación de la respuesta aceptada de @JamiePatt , usando la mejora de user48595 , con la adición de que TextEdit será la aplicación predeterminada para abrir el archivo antes de abrirlo. Esto significa que en el futuro el archivo se podrá abrir de la forma habitual.

  1. Verifique el código hexadecimal ejecutando xattr -p com.apple.LaunchServices.OpenWith <file>, donde 'archivo' es un archivo que configuró manualmente para abrir con TextEdit.

  2. Abra Automator y elija el tipo "Servicio" para su documento.

  3. En el menú desplegable "Servicio recibido seleccionado", seleccione "archivos o carpetas".

  4. Agregue el paso "Utilidades -> Establecer valor de variable". Debería ver una variable llamada "Almacenamiento".

  5. Agregue el paso "Utilidades -> Ejecutar script de Shell". En el menú desplegable "pasar entrada", seleccione "como argumentos". Reemplace el contenido del campo de texto con el siguiente, asegurándose de que el código hexadecimal sea el mismo que obtuvo en el primer paso.

    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. Agregue el paso "Utilidades -> Obtener valor de variable". Debería ver una variable llamada "Almacenamiento".

  7. Agregue el paso "Archivos y carpetas -> Abrir elementos del buscador". En el menú desplegable "Abrir con", seleccione "Editar texto".

  8. Guarde con un nombre fácil de recordar, como TextEditify.

La primera vez que desee abrir un documento que no sea de TextEdit, deberá seleccionar TextEditify en el menú contextual. Las aperturas subsiguientes pueden ocurrir de la manera normal.

Explicación del guión:

El primer xattrcomando agrega el atributo que generalmente se guarda si selecciona "abrir siempre con" manualmente.

El segundo xattrcomando se asegura de que esto funcione con archivos descargados de Internet.

  1. Abra la aplicación Automator

  2. Hacer clicNew Document

  3. EscogerService

    ingrese la descripción de la imagen aquí

  4. Cambia el Services receives selecteda "archivos o carpetas"

    ingrese la descripción de la imagen aquí

  5. Busque Action"Abrir elementos del Finder" y arrástrelo al espacio de flujo de trabajo

    gif

  6. Cambie Open with:a "TextEdit" o cualquier aplicación que desee (prefiero "Visual Studio Code")

  7. Guarda tu servicio con algo lógico, como "Abrir con TextEdit" si eliges TextEdit.

Ahora puede hacer clic con el botón derecho en cualquier elemento del Finder y elegir Services-> Open with TextEdit!

Gracias al usuario 48595 y al enlace publicado en su respuesta: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item .html

Puede crear un flujo de trabajo del menú Servicio como describe influencejamie. Sin embargo, puede usar la opción 'Abrir elementos del buscador' y agregar TextEdit como la aplicación.

Hay una buena publicación al respecto here , que explica cómo crear el flujo de trabajo con más detalle.

Las respuestas en Ask Different deben ser algo más que un enlace. Está bien incluir un enlace, pero resúmalo o extráigalo en la respuesta. La idea es hacer que la respuesta sea independiente.

Simplemente use la opción "-e" para abrir con TextEdit: open -e yourfile.whatever y lo abrirá en TextEdit.