¿Cómo puedo agregar una nueva aplicación al menú Abrir con?

¿Cómo puedo agregar una aplicación al menú Abrir con (que se muestra después de hacer clic con el botón derecho) para un tipo de archivo determinado, sin que ese archivo se abra siempre con esa aplicación?

En este caso específico, me gustaría tener la opción de abrir un archivo de ubicación de sitio web (.URL) con TextEdit, mientras sigo usando Safari de manera predeterminada.

Estoy ejecutando OS 10.7.4.

Si el programa puede abrirlo, se agregará a ese menú. De lo contrario, significa que no puede abrirlo.
Esto parece no ser siempre cierto. TextEdit puede abrir direcciones URL, pero no está en el submenú "Abrir con".

Respuestas (8)

  1. Agregue esto a la matriz CFBundleDocumentTypes en /Applications/TextEdit.app/Contents/Info.plist:

    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>url</string>
        </array>
    </dict>
    
  2. /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/TextEdit.app/

  3. killall Finder
  4. Cambie la aplicación predeterminada a Safari en Finder

Si la aplicación está firmada, la modificación de un Info.plist invalida la firma del código . También hace que algunas aplicaciones como TextEdit y WriteRoom se bloqueen al iniciarse en 10.8.

Tal vez sea solo mi computadora, pero esto no funciona para mí. Después de seguir este procedimiento (hasta el paso 3), TextEdit no está disponible en "Abrir con" para archivos .URL. Además, la modificación de Info.plist parece hacer que TextEdit también se bloquee en 10.7.
¿Hay alguna manera de hacer esto más general? Por ejemplo, quiero mi editor hexadecimal (actualmente HexFiend) como una opción para abrir todos los malditos tipos de archivos, incluidos aquellos que no tienen una extensión de archivo...
@StevenLu: Hice un atajo de Finder en BetterTouchTool para abrir el archivo actualmente seleccionado en HexFiend.
He estado luchando con esto durante mucho tiempo. La pregunta de @StevenLu sigue siendo válida, especialmente para los editores, pero es útil poder hacerlo para los archivos más comunes. Repitiendo este ejercicio porque Visual Studio Codeno estaba seguro de a qué CFBundleTypeExtensionsgrupo pertenecía. Agregué la nueva extensión justo debajo <string>txt</string>, pero no estoy completamente seguro de si eso es correcto. Independientemente, funcionó. Hasta ahora, tampoco hay problemas con la ruptura de firmas.

Intenta seleccionar el archivo en el Finder y haz clic en Archivo > Obtener información. Desde allí, debería poder elegir cualquier aplicación para abrirla. Una vez que haya abierto ese tipo de archivo en esa aplicación una vez, debería comenzar a aparecer en el menú Abrir con.

EDITAR: La respuesta anterior no funciona. Sugerencia alternativa:

Me sentí mal porque mi respuesta anterior era incorrecta, así que busqué en Google. Encontré este consejo de Mac OS X Sugerencias:

  • Control-clic (o clic derecho) en la aplicación en cuestión y seleccione "Mostrar contenido del paquete"
  • Abra la carpeta Contenidos en el paquete de la aplicación. Allí encontrarás un archivo llamado Info.plist. Esta es una lista de propiedades XML que almacena todo tipo de información sobre la aplicación.
  • Abre el archivo con tu editor de texto favorito. Recomiendo Hydra, pero TextEdit funcionará bien.
  • Busque algo que se parezca a lo siguiente:

    <key>CFBundleTypeExtensions</key>
    <array>
        <string>txt</string>
        <string>srt</string>
        <string>suffix1</string>
        <string>suffix2</string>
    

    y así sucesivamente, con los suficientes que la aplicación puede abrir contenidos dentro de las etiquetas. Luego, simplemente elimine [ o agregue --newtron ] el sufijo de los elementos que no desea [ o desea ] que abra la aplicación.

  • Guarde el archivo y ciérrelo (o salga del editor).

Parece que esto no funciona. En "Obtener información", puedo "Abrir con" las mismas aplicaciones que normalmente o elegir "Otro". Si elijo "Otro", puedo elegir entre todas las aplicaciones y marcar o desmarcar "Abrir siempre con". Incluso después de abrir el archivo una vez con TextEditor, no aparece como una opción adicional en el submenú "Abrir con".
Dispara, tienes razón. Editaré la respuesta para reflejar esto y la actualizaré con una sugerencia alternativa.
Esta respuesta actualizada no funciona por sí sola, incluso después de reiniciar.
Creo que este método funcionó en Snow Leopard.. superuser.com/questions/222065/…
Las instrucciones modificadas son las mismas que las de la respuesta de Lri, pero las suyas son mejores porque tienen lsregistery fuerzan la killall Finderactualización inmediata.

La segunda solución de newtron funcionó para mí, pero solo después de que abrí la Terminal y ejecuté el siguiente comando:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

Después de reiniciar el sistema, la aplicación deseada estaba en mi menú contextual "abrir con".

Gracias

Esto también es útil si desea borrar la lista y comenzar de nuevo. por ejemplo, VMWare Fusion había colocado entradas de alguna manera que quedaron huérfanas cuando se eliminó la VM correspondiente. Usar esto borró las entradas incorrectas
Los pasos de Lri en otra respuesta (solución aceptada) funcionaron bien para mí. Publicar esto en 2020 usando MacOS Big Sur 11.0.

En lugar de abrir el archivo con el menú contextual, también puede arrastrar cualquier archivo a cualquier aplicación deseada mientras presiona las teclas + . Esto obligará a cualquier aplicación a intentarlo incluso si cree que no puede hacerlo. Uso esto todo el tiempo.

Simplemente arrastré un tipo de documento desconocido al acceso directo de la aplicación de un editor de texto en el Dock sin mantener presionadas estas combinaciones de teclas y funcionó. Es posible que ya no necesite estas teclas de método abreviado adicionales.
Esta es la respuesta más fácil. ¡Qué atajo de teclado tan oscuro!

Puede agregar la opción como un servicio con Automator y luego activarla con una tecla de acceso directo de Keyboard Maestro.

  1. Abrir Automatory seleccionar el Quick Actiontipo de documento (anteriormente Service)
  2. Seleccionar Files and Foldersen el Workflow receives selectedmenú superior
  3. Busque y seleccione la Open Finder Itemsacción.
  4. Ahora seleccione TextEditenOpen with:
  5. Guarda el servicio con el nombre que quieras ver en los menús

Ahora puede encontrar esto por:

  • Hacer clic derecho en el archivo y buscar cerca de la parte inferior o enQuick Actions

ingrese la descripción de la imagen aquí

O

  • Menú Finder > Servicios (con un archivo seleccionado)

ingrese la descripción de la imagen aquí

¡Pero no tienes que parar ahí!

Luego hice una macro Keyboard Maestro para poder usar una tecla de acceso rápido para hacerlo:ingrese la descripción de la imagen aquí

Obtuve esta idea de este sitio: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html

Esta es una gran manera de hacer esto, muchas gracias!!
Uso el servicio todo el tiempo pero olvidé que hice una macro para hacer esto. ¡Nada como redescubrir una macro!
Nunca antes había usado Automator (o sabía lo que hace), acabas de abrir un mundo completamente nuevo en OSX para mí :)
Esta es la mejor respuesta. Esto se aplica a todas las extensiones de archivo, incluso cuando no hay ninguna. Y no requiere mantenimiento y no requiere jugar con la terminal. No es que esté en contra de jugar con la terminal, pero para el usuario común es mejor evitarlo, por supuesto.

Una continuación de la solución de newtron:

Allí encontrarás un archivo llamado Info.plist. Esta es una lista de propiedades XML que almacena todo tipo de información sobre la aplicación. Abre el archivo con tu editor de texto favorito. Recomiendo Hydra, pero TextEdit funcionará bien.

Guarde el archivo y ciérrelo (o salga del editor).

No puede guardar el .plist editado si su cuenta no tiene los permisos correctos (el problema que estoy tratando ahora, incluso en el estado de administrador, no tendrá permisos de lectura y escritura sobre algunos archivos y carpetas). .). Para guardar los cambios en los archivos .plist, debe otorgarle a su usuario permisos de lectura y escritura.

Algunas de las aplicaciones predeterminadas de Mac hacen que esto sea difícil y actualmente estoy buscando una solución (se actualizará) para hacer esto con TextEdit.

Si la aplicación ya está instalada y no tiene acceso para modificarla, eso es cierto; sin embargo, si instala la aplicación en una ubicación a la que sí tiene acceso (como su carpeta de inicio), podrá editar la Info.plistexpediente. lsregisterseguirá rastreando esta ubicación y seguirá influyendo en el menú "Abrir con". Mac es genial así. :)

Esto funcionó para mí: haga clic con el botón derecho en su aplicación, vaya a los contenidos y abra /Applications/*****.app/Contents/Info.plist

Abra Plist en Xcode como SourceCode y luego coloque esto:

        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>jpeg</string>
                <string>jpg</string>
                <string>png</string>
                <string>gif</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeName</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>GIFf</string>
                <string>JPEG</string>
                <string>PNGf</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
        </dict>

Tenía 'AutomatorApplet.icns' en la carpeta de recursos.

Agregue lo que intentó lograr agregando la entrada dict. Tal como está su respuesta ahora, no usa el ejemplo (.url) dado en la pregunta.

Visite tech-recipes.com para obtener instrucciones detalladas. Como señaló @Anriëtte, la aplicación debería aparecer en el menú Abrir con si puede abrir el archivo específico.

Esto no me funciona porque no quiero cambiar la aplicación predeterminada que abre el archivo. Sólo quiero una opción adicional.