Dans Finder.app, vous pouvez appuyer sur Enterpour modifier le nom du fichier ou dossier actuellement sélectionné.
OS X sélectionnera automatiquement uniquement la partie du nom de fichier, pas l'extension:
C'est très utile, car de cette façon, vous pouvez simplement commencer à taper le nouveau nom, sans vous soucier de modifier accidentellement l'extension du fichier.
Cependant, cela ne semble fonctionner que pour les types de fichiers «connus». Si vous l'essayez avec une extension inconnue, le nom de fichier entier (y compris l'extension) est sélectionné:
J'ai essayé de mapper une application qui peut ouvrir tous les .bar
fichiers via ⌘+ I→ «Tout changer», mais j'obtiens toujours le comportement décrit ci-dessus.
Où est stockée la liste des types de fichiers «connus»? Existe-t-il un moyen de faire reconnaître à OS X de nouveaux types de fichiers?
CFBundleTypeExtensions
est une clé héritée devenue obsolète dans OS X 10.5 . La méthode préférée depuis 2007 est de déclarer de nouvelles UTI, comme mentionné ici et décrit dans ma réponse .xxx.bar
et sélectionnez-leopen with
?UTI et services de lancement
Le terme officiel pour «types de fichiers» est « Uniform Type Identifiers» (UTI) et la base de données des UTI est gérée par Launch Services .
À l'aide du terminal , vous pouvez afficher le contenu de la base de données Launch Services à l'aide de l'
lsregister
outil, qui est stocké dans:Au lieu de spécifier ce long chemin à chaque fois que vous souhaitez exécuter
lsregister
, vous pouvez ajouter temporairement son répertoire à votrePATH
:puis vous pouvez exécuter
lsregister
en entrant simplement:Pour afficher le contenu de la base de données Launch Services:
Déclarer de nouvelles UTI
Cet article d'Apple, «Déclarer de nouveaux identificateurs de type uniforme» , fournit des informations utiles sur la façon de procéder. Voici le processus complet:
1. Créez une application factice
Créez une application factice pour vous inscrire aux services de lancement:
2. Ouvrez son fichier Info.plist
3. Ajoutez votre nouvelle UTI
Il y a un choix de deux clés:
UTExportedTypeDeclarations
- pour vos propres extensions de nom de fichier personnalisées.UTImportedTypeDeclarations
- pour les extensions de nom de fichier qui existent déjà mais ne sont pas reconnues par OS X.Choisissez la clé qui convient le mieux à vos besoins.
Ensuite, dans le fichier Info.plist , avant les deux dernières lignes (
</dict></plist>
), ajoutez ce code:apportant les modifications suivantes:
KEY
par la clé que vous avez choisie (ouUTExportedTypeDeclarations
ouUTImportedTypeDeclarations
).IDENTIFIER
par un identifiant DNS inverse approprié:com.mycompany.mytype
com.idsoftware.wad
EXTENSION
l'extension de nom de fichier (sans le point d' attaque), par exemple:wad
.Il s'agit du code minimum nécessaire pour que Launch Services accepte votre nouvelle UTI. Vous pouvez également ajouter les propriétés facultatives suivantes:
UTTypeConformsTo
- Voir l'annexe ci-dessous.UTTypeDescription
- Une description visible par l'utilisateur, qui sera affichée dans le Finder.UTTypeIconFile
- Si vous ajoutez un fichier Apple Icon Image au dossier Contents / Resources de votre application factice et ajoutez son nom de fichier dans cette propriété, les fichiers qui ont votre nouvelle extension de nom de fichier utiliseront cette icône.UTTypeReferenceURL
- L'URL d'un document de référence décrivant ce type.Voici un exemple complet montrant toutes les propriétés facultatives:
4. Enregistrez votre nouvelle UTI avec Launch Services
Exécutez cette commande dans le terminal:
remplacer
<PATH_TO_APP>
par le chemin d'accès à votre application factice, par exemple:Si vous créez maintenant un fichier avec votre nouvelle extension de nom de fichier, puis sélectionnez-le dans le Finder et appuyez sur Enter, le Finder doit sélectionner automatiquement uniquement la partie du nom de fichier, pas l'extension.
Si vous affichez le contenu de la base de données Launch Services:
vous devriez trouver votre nouvelle UTI dans la liste:
Si vous souhaitez ultérieurement désinscrire votre nouvelle UTI, passez l'
-u
option àlsregister
:Annexe: Hiérarchie UTI et conformité
OS X déclare une hiérarchie d'UTI qui sont répertoriés ici: Identificateurs de type uniforme déclarés par le système .
Voici quelques UTI dans la hiérarchie:
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
Chaque UTI "est conforme" à son UTI parent:
Lors de la création d'une nouvelle UTI, il est judicieux de définir la
UTTypeConformsTo
propriété sur l'une des UTI existantes.Par exemple, si votre nouvelle UTI est un type de code source, vous devez définir la
UTTypeConformsTo
propriété surpublic.source-code
, afin qu'elle puisse être ouverte par toutes les applications qui peuvent ouvrirpublic.source-code
oupublic.plain-text
ou despublic.text
fichiers.la source
Suivez ces étapes:
Sélectionnez le fichier dont l'extension n'est pas reconnue (par exemple,
.txt
).Cliquez avec le bouton droit et sélectionnez
Get Info
ou utilisez le raccourci clavier Commandipour afficher la fenêtre d'informations.Cliquez sur l'indicateur de divulgation à côté de Ouvrir avec: pour ouvrir une vue détaillée. Sélectionnez l'application souhaitée dans le menu déroulant. Ceci associera le document à l'application choisie (par exemple TextEdit).
Cliquez sur le bouton Tout changer .... Il affichera d'abord une boîte de dialogue demandant de confirmer votre intention et liera tous les
.txt
documents à ouvrir avec TextEdit, et laissera l'extension non sélectionnée lorsque vous appuierez sur Retour sur le nom du document.la source