En Finder.app, puede presionar Enterpara editar el nombre del archivo o carpeta actualmente seleccionado.
OS X seleccionará automáticamente solo la parte del nombre del archivo, no la extensión:
Esto es muy útil, porque de esa manera puede comenzar a escribir el nuevo nombre, sin preocuparse por cambiar accidentalmente la extensión del archivo.
Sin embargo, esto solo parece funcionar para los tipos de archivos "conocidos". Si lo prueba con una extensión desconocida, se selecciona el nombre completo del archivo (incluida la extensión):
Intenté mapear una aplicación que puede abrir todos los .bar
archivos a través de ⌘+ I→ "Cambiar todo", pero aún obtengo el comportamiento descrito anteriormente.
¿Dónde se almacena la lista de tipos de archivos "conocidos"? ¿Hay alguna manera de hacer que OS X reconozca nuevos tipos de archivos?
CFBundleTypeExtensions
es una clave heredada que quedó obsoleta en OS X 10.5 . El método preferido desde 2007 es declarar nuevas infecciones urinarias, como se menciona aquí y se describe en mi respuesta .xxx.bar
y seleccionasopen with
?UTI y servicios de lanzamiento
El término oficial para "tipos de archivo" es Identificadores de tipo uniformes (UTI), y Launch Services mantiene la base de datos de UTI .
Usando la Terminal , puede ver el contenido de la base de datos de Launch Services usando la
lsregister
herramienta, que se almacena en:En lugar de especificar esa ruta larga cada vez que desee ejecutar
lsregister
, puede agregar temporalmente su directorio a suPATH
:y luego puedes correr
lsregister
simplemente ingresando:Para ver el contenido de la base de datos de Launch Services:
Declarando nuevas infecciones urinarias
Este artículo de Apple, "Declaración de nuevos identificadores de tipo uniformes" , proporciona información útil sobre cómo hacerlo. Aquí está el proceso completo:
1. Crear una aplicación ficticia
Cree una aplicación ficticia para registrarse en Launch Services:
2. Abra su archivo Info.plist
3. Agregue su nueva infección urinaria
Hay una opción de dos claves:
UTExportedTypeDeclarations
- para sus propias extensiones de nombre de archivo personalizadas.UTImportedTypeDeclarations
- para extensiones de nombre de archivo que ya existen pero que OS X no reconoce.Elija la clave que sea más adecuada para sus necesidades.
Luego, en el archivo Info.plist , antes de las dos líneas finales (
</dict></plist>
), agregue este código:haciendo los siguientes cambios:
KEY
con su clave elegida (ya seaUTExportedTypeDeclarations
oUTImportedTypeDeclarations
).IDENTIFIER
con un identificador DNS inverso adecuado:com.mycompany.mytype
com.idsoftware.wad
EXTENSION
con la extensión de nombre de archivo (sin el punto inicial), por ejemplo:wad
.Este es el código mínimo necesario para que Launch Services acepte su nueva UTI. También puede agregar las siguientes propiedades opcionales:
UTTypeConformsTo
- Vea el apéndice a continuación.UTTypeDescription
- Una descripción visible para el usuario, que se mostrará en el Finder.UTTypeIconFile
- Si agrega un archivo de imagen de icono de Apple a la carpeta Contenido / Recursos en su aplicación ficticia y agrega su nombre de archivo en esta propiedad, los archivos que tengan su nueva extensión de nombre de archivo usarán este icono.UTTypeReferenceURL
- La URL de un documento de referencia que describe este tipo.Aquí hay un ejemplo completo que muestra todas las propiedades opcionales:
4. Registre su nueva infección del tracto urinario con los Servicios de lanzamiento
Ejecute este comando en la Terminal:
reemplazando
<PATH_TO_APP>
con la ruta a su aplicación ficticia, por ejemplo:Si ahora crea un archivo con su nueva extensión de nombre de archivo, y luego lo selecciona en el Finder y presiona Enter, el Finder debería seleccionar automáticamente solo la parte del nombre de archivo, no la extensión.
Si ve el contenido de la base de datos de Launch Services:
debería encontrar su nueva infección urinaria en la lista:
Si luego desea cancelar el registro de su nueva infección urinaria, pase la
-u
opción alsregister
:Apéndice: jerarquía UTI y conformidad
OS X declara una jerarquía de UTI que se enumeran aquí: Identificadores de tipo uniforme declarados por el sistema .
Aquí hay algunas infecciones urinarias en la jerarquía:
public.content
public.text
public.rtf
public.html
public.xml
public.plain-text
public.source-code
public.c-source
public.c-header
com.sun.java-source
public.image
public.jpeg
public.tiff
public.png
public.audiovisual-content
public.movie
public.audio
Cada UTI "se ajusta a" su UTI primaria:
Al crear una nueva infección urinaria, es una buena idea establecer la
UTTypeConformsTo
propiedad en una de las infecciones urinarias existentes.Por ejemplo, si su nueva infección urinaria es un tipo de código fuente, entonces usted debe establecer el
UTTypeConformsTo
inmueble parapublic.source-code
, de manera que pueda ser abierto por cualquier aplicaciones que pueden abrirpublic.source-code
opublic.plain-text
opublic.text
archivos.fuente
Sigue estos pasos:
Seleccione el archivo con extensión no reconocida (por ejemplo,
.txt
).Haga clic derecho y seleccione
Get Info
o use el atajo de teclado Commandipara mostrar la ventana de información.Haga clic en el indicador de divulgación además de Abrir con: para abrir la vista detallada. Seleccione la aplicación deseada del menú desplegable. Esto asociará el documento con la aplicación elegida (por ejemplo, TextEdit).
Haga clic en el botón Cambiar todo ... Primero mostrará un cuadro de diálogo que le pedirá que confirme su intención y vinculará todos los
.txt
documentos para abrir con TextEdit, y dejará la extensión sin seleccionar cuando presione regresar en el nombre del documento.fuente