Comment associer une extension de fichier à un type de contenu?

9

J'ai quelques fichiers avec l'extension "module" et "inc", qui sont des fichiers PHP. Lorsque j'essaie de les ouvrir, la liste des applications qui peuvent les ouvrir ne montre que l'application que j'ai définie comme application par défaut, même s'il existe un autre éditeur de texte qui peut ouvrir des fichiers PHP et pour lequel j'ai défini les fichiers avec ces extensions à mettre en évidence comme le sont les fichiers PHP.

capture d'écran

Si j'ouvre la boîte de dialogue "Get Info", sélectionnez une autre application dans "Open With", puis cliquez sur "Change All ..." ce que j'obtiens est le suivant.

capture d'écran

capture d'écran

Ce que je veux obtenir, c'est ce que montre la capture d'écran suivante, qui montre le menu "Ouvrir avec" pour un autre type de fichier:

capture d'écran

Existe-t-il un moyen d'associer ces extensions au type de contenu utilisé pour les fichiers PHP?
Sinon, comment puis-je afficher, dans la liste des applications affichées dans le menu "Ouvrir avec", toutes les applications qui peuvent ouvrir des fichiers PHP, lorsque le Finder ne le fait pas déjà?

Je vais expliquer ce que je veux obtenir en utilisant une capture d'écran de RCDefaultApp.

capture d'écran

Un fichier utilisant "module" comme extension est un fichier PHP, dans mon cas (c'est un module Drupal); ce que je veux, c'est ajouter cette extension à celles rapportées pour l'UTI "public.php-script".

kiamlaluno
la source
J'ai hâte de le savoir aussi - le plus proche que j'ai eu à poser sur UTI et les services de lancement sur SuperUser ...
bmike
Je pense que l'utilisation de RCDefaultApp comme Kungi a répondu est le chemin. Mais si vous pensez que cette ou ces extensions particulières doivent être mappées à ces types de contenu, vous pouvez envisager d'écrire aux créateurs d'applications pour proposer de les inclure.
Agos

Réponses:

3

Il n'y a pas de moyen sûr et conseillé de réaliser ce que vous recherchez car cette fonction du système d'exploitation est contrôlée par la base de données Launch Services. Les développeurs enregistrent les types de fichiers pris en charge par leurs applications avec le système d'exploitation lors du premier lancement.

La meilleure façon de résoudre ce problème est de demander au développeur d'ajouter la prise en charge de l'extension de fichier dans une future version de son application.

Cela dit, vous avez déjà trouvé le seul moyen documenté qu'Apple propose pour remplacer les édits de la base de données Launch Services. Si vous voulez creuser plus profondément et emprunter moins la routevoyagé pris en charge ici sont quelques pointeurs.

Il existe un fichier .plist qui régit une partie des activités de Launch Services situé à: ~ / Library / Preferences / com.apple.LaunchServices.plist

Apple note que la suppression de cette liste peut éliminer les options de menu contextuel Ouvrir avec indésirables. Mais c'est l'opposé de ce que vous recherchez.

C'est un .plist binaire mais vous pouvez le convertir en version xml et expérimenter un peu pour voir si vous pouvez trouver une recette pour réaliser ce que vous recherchez. Ce n'est pas conseillé, cela pourrait causer des dommages, et il sera très probablement écrasé par le système d'exploitation à un moment donné.

Il existe également un outil caché un peu plus profondément dans le système d'exploitation appelé lsregister qui pourrait être utile pour explorer la plomberie de Launch Services. Voici une explication utile de lsregister et de ses options .

Samuel Mikel Bowles
la source
3

L'alternative à la solution mentionnée par Gerry est le volet de préférences RCDefaultApp . C'est gratuit et vous permet de définir toutes les connexions Application-> Type de contenu, Application-> URL sur votre système.

Dans le volet "Applications" de RCDefaultApp, vous pouvez définir les types de fichiers pris en charge par une application spécifique lorsque vous cochez "php" avec votre éditeur, il s'affichera également dans le menu "Ouvrir avec".

Kungi
la source
Il ne permet pas d'ajouter une extension à celles associées à une UTI ou à un type de contenu. Il permet de modifier l'application par défaut qui ouvre les fichiers, ce qui est essentiellement ce que le Finder permet déjà; la différence est qu'avec RCDefaultApp vous le changez du même endroit (le panneau de préférence).
kiamlaluno
@ kiamlaluno - mais vous pouvez créer une nouvelle moduleextension, puis l'associer à votre application. Ou quel est le problème avec ça ??
René Larsen,
Le problème n'est pas d'associer une extension à une application, qui deviendrait l'application par défaut pour cette extension; le problème est d'avoir automatiquement la liste des applications dans "Ouvrir avec" préremplie. Si vous voyez la troisième capture d'écran que j'ai utilisée dans la question, Xcode, Dashcode et Console sont affichés pour l'extension ".inc", mais je n'ai pas associé ces applications à l'extension.
kiamlaluno
0

Dans le menu contextuel, choisissez Obtenir des informations, sélectionnez le programme à utiliser dans le volet "Ouvrir avec:" et cliquez sur "Tout modifier ..."

Gerry
la source
2
J'ai essayé cela, mais le seul effet est de changer l'application par défaut pour ces fichiers, alors que je veux conserver l'application par défaut, mais en montrant une autre application dans la liste des applications affichées dans le sous-menu "Ouvrir avec".
kiamlaluno