Voltar
Como desativar o 'formatOnSave' do VS Code para extensões de arquivo específicas
Aprenda como desabilitar o formatOnSave do VS Code apenas para tipos de arquivo específicos, mantendo a formatação automática para outros arquivos.
Quem nunca se irritou com o formatOnSave
do VS Code formatando arquivos que você não queria que fossem formatados? Às vezes você tem arquivos específicos que precisam manter sua formatação original, mas o VS Code insiste em reformatá-los automaticamente.
Neste artigo, vou mostrar como desabilitar o formatOnSave
apenas para extensões de arquivo específicas, mantendo a funcionalidade para todos os outros arquivos. Esta é uma solução muito mais elegante do que desabilitar completamente a formatação automática.
Como funciona
O VS Code permite configurar regras específicas para diferentes tipos de arquivo através das configurações do editor. Podemos usar duas propriedades principais:
files.associations
: Define associações de extensões de arquivo com linguagens específicas[language]
: Define configurações específicas para uma linguagem de programação
Passo 1 — Abrir as Configurações
Existem duas maneiras de acessar as configurações:
Opção 1 - Interface Gráfica:
- No Windows/Linux: Pressione
Ctrl + ,
- No Mac: Pressione
Cmd + ,
Opção 2 - Comando:
- Pressione
Ctrl + Shift + P
(ouCmd + Shift + P
no Mac) - Digite "Preferences: Open Settings (JSON)"
- Selecione a opção para abrir o arquivo
settings.json
Passo 2 — Configurar as Associações de Arquivo
Primeiro, você precisa associar a extensão do arquivo com uma linguagem específica. Adicione o seguinte ao seu settings.json
:
{
"files.associations": {
"*.plush.html": "plush",
"*.template": "html",
"*.config": "json"
}
}
Dica: Se você estiver trabalhando com linguagens populares que já são reconhecidas pelo VS Code, pode pular o bloco
files.associations
e usar diretamente o nome da linguagem no próximo passo.
Passo 3 — Desabilitar formatOnSave para Linguagens Específicas
Agora, adicione as configurações para desabilitar o formatOnSave
apenas para as linguagens que você não quer que sejam formatadas automaticamente:
{
"files.associations": {
"*.plush.html": "plush",
"*.template": "html"
},
"[plush]": {
"editor.formatOnSave": false
},
"[html]": {
"editor.formatOnSave": false
},
"[javascript]": {
"editor.formatOnSave": false
},
"[json]": {
"editor.formatOnSave": false
}
}
Exemplos Práticos
Para arquivos HTML específicos
{
"files.associations": {
"*.template.html": "html-template"
},
"[html-template]": {
"editor.formatOnSave": false
}
}
Para arquivos de configuração
{
"files.associations": {
"*.config.js": "javascript-config"
},
"[javascript-config]": {
"editor.formatOnSave": false
}
}
Para arquivos de template
{
"files.associations": {
"*.tpl": "template"
},
"[template]": {
"editor.formatOnSave": false
}
}
Verificando se Funcionou
Para verificar se a configuração está funcionando:
- Abra um arquivo com a extensão que você configurou
- Faça alguma alteração no código
- Salve o arquivo (
Ctrl + S
ouCmd + S
) - O arquivo não deve ser formatado automaticamente
Configurações Adicionais Úteis
Você também pode configurar outras opções para arquivos específicos:
{
"[javascript]": {
"editor.formatOnSave": false,
"editor.formatOnPaste": false,
"editor.formatOnType": false
}
}
Conclusão
Esta solução permite que você mantenha o formatOnSave
ativo para a maioria dos seus arquivos, mas desabilite apenas para tipos específicos que precisam manter sua formatação original. É uma abordagem muito mais flexível e produtiva do que desabilitar completamente a formatação automática.
Créditos: Este artigo foi baseado no post original "How to Disable VS Code formatOnSave for Specific File Extensions" por Zulh Handy Plast, traduzido e adaptado para.