Como associar uma extensão de arquivo a um tipo de conteúdo?

9

Eu tenho alguns arquivos com a extensão "module" e "inc", que são arquivos PHP. Quando tento abri-los, a lista de aplicativos que podem abri-los mostra apenas o aplicativo que eu defini como aplicativo padrão, mesmo que exista outro editor de texto que possa abrir arquivos PHP e para o qual eu configurei os arquivos com essas extensões para ser destacado como arquivos PHP.

captura de tela

Se eu abrir a caixa de diálogo "Obter informações", selecione outro aplicativo em "Abrir com" e clique em "Alterar tudo ...", o que eu recebo é o seguinte.

captura de tela

captura de tela

O que eu quero obter é o que é mostrado na captura de tela a seguir, que mostra o menu "Abrir com" para outro tipo de arquivo:

captura de tela

Existe uma maneira de associar essas extensões ao tipo de conteúdo usado para arquivos PHP?
Como alternativa, como posso mostrar, na lista de aplicativos mostrados no menu "Abrir com", todos os aplicativos que podem abrir arquivos PHP, quando o Finder ainda não o faz?

Vou explicar o que quero obter usando uma captura de tela do RCDefaultApp.

captura de tela

Um arquivo usando "module" como extensão é um arquivo PHP, no meu caso (é um módulo Drupal); o que eu quero é adicionar essa extensão àquelas relatadas para a UTI "public.php-script".

kiamlaluno
fonte
Estou ansioso para conhecer este bem - o mais próximo que eu comecei perguntando sobre UTI e Launch Services em SuperUser ...
bmike
Eu acho que usar o RCDefaultApp como Kungi respondeu é o caminho. Mas se você acha que essas extensões específicas devem ser mapeadas para esses tipos de conteúdo, considere escrever para os fabricantes de aplicativos para propor a inclusão.
Agos

Respostas:

3

Não há uma maneira segura e aconselhável de obter o que você procura, porque essa função do sistema operacional é controlada pelo banco de dados dos Serviços de Ativação. Os desenvolvedores registram os tipos de arquivos que seus aplicativos suportam no sistema operacional no primeiro lançamento.

A melhor maneira de corrigir isso é solicitar ao desenvolvedor que adicione suporte à extensão do arquivo em uma versão futura do aplicativo.

Com isso dito, você já encontrou a única maneira documentada que a Apple oferece para substituir os editais do banco de dados dos Serviços de Lançamento. Se você quiser ir mais fundo e seguir menos a estradaviajei suportados aqui estão alguns indicadores.

Há um arquivo .plist que controla parte do que o Launch Services faz localizado em: ~ / Library / Preferences / com.apple.LaunchServices.plist

A Apple observa que a remoção dessa lista pode limpar as opções de menu contextuais abertas com indesejadas. Mas é o contrário do que você procura.

É um .plist binário, mas você pode convertê-lo para uma versão xml e experimentar um pouco para ver se consegue criar uma receita para obter o que deseja. Isso não é aconselhável, pode causar danos e provavelmente será sobrescrito pelo sistema operacional em algum momento.

Há também uma ferramenta escondida um pouco mais profunda no sistema operacional chamada lsregister, que pode ser útil na exploração do encanamento dos Serviços de Lançamento. Aqui está uma explicação útil do lsregister e suas opções .

Samuel Mikel Bowles
fonte
3

A alternativa à solução mencionada por Gerry é o painel de preferências do RCDefaultApp . É grátis e vamos definir todas as conexões Aplicativo-> Tipo de Conteúdo, Aplicativo-> URL no seu Sistema.

No painel "Aplicativos" do RCDefaultApp, você pode definir quais tipos de arquivo são suportados por aplicativos específicos ao marcar "php" com o seu editor e ele também será exibido no menu "Abrir com".

Kungi
fonte
Não permite adicionar uma extensão às associadas a uma UTI ou a um tipo de conteúdo. Ele permite alterar o aplicativo padrão que abre arquivos, que é essencialmente o que o Finder já permite; a diferença é que, com o RCDefaultApp, você o altera do mesmo local (o painel de preferências).
Kievlaluno # 11/11
@ kiamlaluno - mas você pode criar uma nova moduleextensão e associá-la ao seu aplicativo. Ou qual é o problema com isso?
Rene Larsen
O problema não é associar uma extensão a um aplicativo, que se tornaria o aplicativo padrão para essa extensão; o problema é ter automaticamente a lista de aplicativos em "Abrir com" preenchida previamente. Se você vir a terceira captura de tela que usei na pergunta, Xcode, Dashcode e Console são mostrados para a extensão ".inc", mas não associei esses aplicativos à extensão.
Kievlaluno # 12/11
0

No menu de contexto, escolha Obter informações, selecione o programa a ser usado no painel "Abrir com:" e clique em "Alterar tudo ..."

Gerry
fonte
2
Eu tentei isso, mas o único efeito é alterar o aplicativo padrão para esses arquivos, enquanto quero manter o aplicativo padrão, mas mostrar outro aplicativo na lista de aplicativos mostrados no submenu "Abrir com".
Kievlaluno # 7/11