Como definir os apps padrão no Mac em lote com o Defaultly e abrir .env, Dockerfile e arquivos sem extensão no seu editor
Para quem programa no Mac, arquivos sem extensão como .env, .gitignore e Dockerfile sempre foram uma dor de cabeça: o clique duplo abre no TextEdit ou simplesmente não abre. Trocar para o VS Code ou o Zed com “Obter Informações › Abrir Com › Alterar Tudo…” do Finder não adianta nada, e o “Sempre Abrir Com” só vale para aquele arquivo selecionado.
O motivo é que o macOS classifica a maioria dos arquivos sem extensão como public.data e não deixa nenhum app se tornar o padrão para esse tipo. Tentar mudar pela linha de comando só dá o erro -50.
O outro problema é que as associações de arquivos são tomadas com frequência. Basta instalar um app novo (o caso clássico é o Xcode) para ele tomar as associações que você tinha configurado. O macOS não avisa e não oferece um jeito de restaurar tudo de uma vez: é preciso mudar de volta formato por formato, e desde o macOS 26.4 ainda é preciso confirmar cada tipo.
Por isso escrevi o Defaultly, um app gratuito e de código aberto para macOS que gerencia, em uma única janela, os apps padrão de tipos de arquivo, extensões e links.

O que o Defaultly faz
- Apps padrão por grupo: os tipos de arquivo são agrupados por finalidade (Texto, Markdown, Código, Configuração e dados, Arquivos sem extensão, PDF, Documentos, Imagens, Vídeo, Áudio, Arquivos compactados). Cada grupo tem um menu de app e é configurado inteiro de uma vez, sem confirmar formato por formato; as mudanças entram em vigor em poucos segundos.
- Arquivos sem extensão:
.env,Dockerfile,.gitignoree.npmrcabrem no editor que você escolher, mesmo que esse editor não declare suporte a eles. - Exceções por formato: expanda um grupo para dar um app próprio a um formato específico, como
.mdou.py. Se depois você mudar o app do grupo, esses formatos não são afetados. - Extensões personalizadas: adicione extensões que não estão na lista, incluindo
.go,.rs,.kt,.darte.lua, que o macOS só reconhece como tipos temporários. - Apps padrão para links: web (
http,https), e-mail (mailto), assinaturas de calendário (webcal), chamadas, mensagens de texto, FaceTime, SSH, FTP e compartilhamento de tela. Dá para escolher um app para cada um ou “Não abrir”, por exemplo para que clicar em um número de telefone numa página não inicie mais uma chamada. - Diagnóstico: solte um arquivo para ver por que ele abre em determinado app e trocar ali mesmo; solte uma pasta para encontrar os arquivos com ajuste próprio de “Abrir Com” e removê-lo.
- Alertas de tomada: quando o Xcode, um navegador ou outro app toma uma associação que você definiu, o Defaultly mostra um aviso para recuperá-la com um clique.
- Desfazer e restaurar: um instantâneo é salvo antes de cada alteração. Dá para desfazer com
⌘Zou voltar tudo para o estado de antes da primeira vez que você abriu o Defaultly, com uma prévia de cada alteração antes. - Desinstalação limpa: o desinstalador integrado primeiro devolve cada associação ao app original e depois move o Defaultly para o Lixo.
- 15 idiomas: a interface está disponível em 15 idiomas, incluindo português, inglês, chinês simplificado, chinês tradicional e japonês, e dá para trocar dentro do app.
O Defaultly não roda em segundo plano, não tem item de início, não se conecta à internet e não coleta dados.
Instalar o Defaultly
É preciso ter o macOS 26 Tahoe ou posterior.
- Abra a página de Releases e, em Assets da versão mais recente, baixe
Defaultly-<version>.dmg. - Clique duas vezes no DMG para abri-lo e arraste o Defaultly para a pasta “Aplicativos” mostrada na mesma janela.
- Ejete o DMG e abra o Defaultly pela pasta “Aplicativos”.
Não há instalador e não é preciso senha de administrador. Para atualizar, baixe o DMG novo e arraste de novo para substituir a versão antiga; os ajustes, regras e instantâneos são mantidos.
Primeira abertura: permitir um app não notarizado
O Defaultly ainda não foi notarizado pela Apple, então o macOS o bloqueia na primeira abertura. Basta permitir uma vez:
-
Clique duas vezes no Defaultly. Quando o macOS disser que não pôde verificá-lo, clique em “OK”. Não clique no botão azul “Mover para o Lixo”.

-
Abra “Ajustes do Sistema › Privacidade e Segurança”, role até “Segurança” e clique em “Abrir Mesmo Assim” ao lado do Defaultly. O botão fica disponível por cerca de uma hora após o passo 1.

-
Digite sua senha de login ou use o Touch ID e, na caixa de diálogo seguinte, clique em “Abrir Mesmo Assim” de novo.

Depois disso, o Defaultly abre normalmente, e o app auxiliar integrado é permitido junto com ele, então abrir arquivos sem extensão não gera mais avisos. As capturas de tela mostram a interface em inglês; no macOS em português, os botões têm os nomes indicados acima.
Como usar
Abrir .env e Dockerfile no seu editor
Na aba “Tipos de arquivo”, encontre o grupo “Arquivos sem extensão”, escolha o seu editor no menu à direita (por exemplo VS Code, Zed ou Sublime Text) e clique em “Aplicar” na parte inferior da janela. A partir daí, o clique duplo em .env, Dockerfile e arquivos parecidos abre direto nesse editor.
Definir o editor padrão para todos os arquivos de código
Faça o mesmo com os grupos “Código”, “Configuração e dados” e “Markdown”: escolha o app e clique em “Aplicar”. O grupo Código cobre as linguagens mais comuns, como JavaScript, TypeScript (.tsx), Python, Java, C, C++, C#, PHP, Ruby, Swift, Go, Rust, Kotlin, Dart, Lua, Shell, PowerShell e SQL, incluindo .go e .rs, que não têm um tipo oficial do macOS.
Para abrir uma exceção para um formato, clique na linha do grupo para expandi-lo e escolha outro app no menu da linha desse formato. A linha passa a ter a marca “Ajuste próprio”. Para voltar a seguir o grupo, escolha “Seguir o grupo”.
Buscar e adicionar extensões
Digite uma extensão como py ou env no campo de busca no canto superior direito para pular direto para a linha correspondente. Se a extensão não estiver em nenhum grupo, o resultado da busca mostra “Adicionar…”: depois de digitar a extensão, o Defaultly mostra como o macOS a reconhece e sugere um grupo. É só clicar em “Adicionar”.
Definir o navegador e o app de e-mail padrão
Abaixo dos tipos de arquivo há um cartão “Links”, onde você escolhe qual app abre os links de navegador, e-mail, assinaturas de calendário, telefone, SSH e outros. Ao trocar de navegador, o macOS continua mostrando uma caixa de diálogo do sistema para confirmar; isso existe para impedir que o navegador seja sequestrado sem você perceber.
Aplicar, desfazer e restaurar
Todas as alterações ficam primeiro pendentes, e a parte inferior da janela mostra quantas existem. “Aplicar” faz com que entrem em vigor e “Descartar” as descarta.
- “Editar › Desfazer” (
⌘Z) desfaz a última aplicação, e dá para desfazer várias vezes seguidas. - O botão de seta circular na barra de ferramentas é “Restaurar o estado inicial”: ele aponta cada tipo de arquivo e link que o Defaultly alterou de volta para o app que estava definido na primeira vez que você abriu o Defaultly. Antes de executar, lista cada alteração.
- Em “Ajustes › Histórico” ficam salvos os últimos 20 instantâneos, e qualquer um pode ser restaurado.
Descobrir por que um arquivo abre nesse app
Vá para a aba “Diagnóstico” e solte um arquivo na caixa tracejada. O Defaultly mostra qual app o abre e por quê: se o arquivo tem um ajuste próprio de “Abrir Com” feito no Finder, se você escolheu esse app para esse tipo de arquivo, ou se nada estava definido e o macOS escolheu sozinho. Abaixo do resultado, “Usar em vez disso” troca direto para outro app.
Se você soltar uma pasta, o Defaultly lista todos os arquivos dela que têm ajuste próprio de “Abrir Com”. Selecione-os, clique em “Remover os ajustes próprios” e eles passam a seguir o ajuste do seu tipo.
Como o Defaultly faz isso
O pacote do Defaultly traz um app auxiliar minúsculo chamado Defaultly Helper. Quando você escolhe um editor para os arquivos sem extensão, o Defaultly aponta public.data para esse app auxiliar. Ao abrir um desses arquivos, o app auxiliar verifica o conteúdo: arquivos de texto vão para o editor escolhido, arquivos binários são mostrados no Finder, e então ele encerra. Ele não tem janela, não fica rodando em segundo plano e encerra após menos de um segundo ocioso.
Tipos que o app escolhido já suporta, como .md e .py, são atribuídos direto a ele, sem passar pelo app auxiliar.
O macOS não oferece uma API pública para definir o app padrão de public.data, então o Defaultly grava todas as alterações de tipos de arquivo de uma vez nas preferências do LaunchServices e reinicia o serviço lsd uma vez para que entrem em vigor. Esse mecanismo não é documentado pela Apple e pode parar de funcionar após uma atualização do sistema. Se alguma alteração não entrar em vigor, o Defaultly recorre à API pública (aí você precisa confirmar cada tipo), e para arquivos sem extensão dá para usar as regras de pasta nos “Ajustes”.
Perguntas frequentes
Como mudar o app padrão para arquivos sem extensão no Mac?
Abra o Defaultly, escolha um app para “Arquivos sem extensão” e clique em “Aplicar”. A partir daí, arquivos como .env e Dockerfile abrem nesse app.
Por que o “Alterar Tudo” do Finder não funciona com arquivos .env?
O macOS trata esses arquivos como dados genéricos (public.data) e não permite mudar o app padrão deles pelas APIs públicas. O Defaultly contorna essa limitação com o seu app auxiliar.
Por que .ts não está no grupo Código?
O macOS reconhece .ts como um formato de vídeo (MPEG-2 transport stream). Alterá-lo afetaria arquivos de vídeo de verdade, então o grupo Código só inclui o .tsx do TypeScript.
Dá para desfazer todas as alterações? Sim. Na primeira execução, o Defaultly registra as associações originais e nunca sobrescreve esse registro. “Restaurar o estado inicial” aponta cada tipo alterado de volta para o app original.
Como desinstalar? No fim de “Ajustes › O que o Defaultly gravou”, clique em “Desinstalar o Defaultly…”. Ele primeiro restaura todas as associações alteradas e depois se move para o Lixo.
Para mais detalhes, incluindo o modo desenvolvedor, as regras e as regras de pasta, veja a documentação em português do projeto.
Projeto no GitHub: https://github.com/zhaojiannet/defaultly