Use a extensão Prettier com arquivos Go no VSCode
Por Ciro Mota | 19, Setembro 2023 | Tempo de leitura aproximadamente 4 minutos. Edições: Publicação Em 19, Setembro 2023.Olá minha gente, como vai vocês? Espero que bem.
Logo quando começamos a programar essa é uma questão um tanto secundária. A preocupação com um código todo formatadinho não deveria ser tão importante ao ponto de, por experiência própria acabar impactando no desenvolvimento daquilo que estamos aprendendo. Te digo com toda a sinceridade mesmo eu não sendo em si um Dev/programador que ela não é (ou não deveria ser) o foco no início dos estudos de programação, este deverá ser sempre entender os conceitos e principalmente fazer a coisa funcionar. Após essa premissa devemos levar em conta a sim a formatação dos nosso códigos como forma de facilitar a sua manutenção e a leitura por quem não é da área.
Hoje vivemos uma outra era em T.I e felizmente nossos editores de código já conseguem desenvolver essa atividade pra gente em poucos cliques ou com o acionamento de algumas teclas. Esse é o caso do VSCode/ium e da extensão Prettier que formatam códigos de forma automática. Como nem tudo é perfeito a extensão Prettier não consegue formatar arquivos de alguns formatos como é o caso dos arquivos de modelo em Go. Este blog por exemplo é gerado através da ferramenta HUGO que utiliza scripts em Go para construí-lo e esses arquivos não podem ainda serem formatados pela extensão.
É ai que entra a comunidade com complementos para a extensão. Logo abaixo veremos como instalá-los no VSCode/ium.
Requerimentos e instalação
Aqui vamos precisar só do node.js
e um terminal. Os processos descritos aqui foram executados no Linux mas devem funcionar em outros ambientes. Para a instalação do node.js
eu particularmente uso o projeto NVM ou Node Version Manager.
Supondo que você já seja um Dev você já deverá ter instalado, caso contrário pode fazer uso dessa ferramenta para uma instalação e manutenção facilitada desse app.
Após o Node instalado você deve desinstalar a extensão Prettier que por ventura você tenha instalado através da loja de extensões do VSCode/ium. Feito isso vamos para o terminal executar alguns comandos:
npm i -g prettier prettier-plugin-go-template
O comando instalará globalmente ambos os componentes. O próximo passo é a criação de um arquivo chamado .prettierrc
na raiz do seu projeto.
Configuração
Para arquivos Go e que funcionou para mim o arquivo .prettierrc
deverá ter o seguinte conteúdo.
{
"overrides": [
{
"files": ["*.html"],
"options": {
"parser": "go-template"
}
},
{
"files": ["*.html", "*.css", "*.scss", "*.sass", "*.less"],
"options": {
"singleQuote": false
}
}
],
"singleQuote": true,
"goTemplateBracketSpacing": true
}
Você talvez queira adicionar esse arquivo em seu arquivo .gitignore
porém como pode ver ele não carregará informações sensíveis e pode ser útil para quem for dar manutenção no seu código ou um time.
Arquivo criado, para que a extensão funcione é necessário adicionar uma linha no arquivo settings.json
do seu VSCode/ium. Primeiro você deverá verificar o path/caminho de instalação do Node, para tal execute o comando npm root -g
e copie o caminho mostrado.
Abra o arquivo settings.json
do seu VSCode/ium e adicione a seguinte linha com o caminho adaptado ao mostrado para você:
"prettier.prettierPath": "/home/ciromota/.nvm/versions/node/v18.17.1/lib/node_modules/prettier",
Feito isso estará tudo pronto.
Cuidados adicionais
Os pacotes instalados pelo npm
merecem tantos cuidados quanto um que você instala via apt
, dnf
entre outros. A exceção de projetos de desenvolvimento que requerem dependências de versões fixas você deve regularmente atualizar seus pacotes npm
. Como exemplo dos dois pacotes que usamos aqui neste artigo e que estão instalados globalmente, você pode utilizar o comando npm update -g
para atualizá-los.
Caso a versão do Node seja atualizada você deverá se certificar que o path/caminho mudou ou não e reconfigurar o VSCode/ium.
Até que uma extensão própria seja lançada na loja do VSCode/ium este será uma pequena “gambiarra” que podemos fazer uso.
Conclusão
Há muitos outros complementos da comunidade disponíveis, te convido a conhecer e se for de sua necessidade instalá-los.
E você já conhecia essa funcionalidade? Utiliza outro método para formatar automaticamente os códigos? Me deixe saber logo abaixo nos comentários.
Espero que este artigo seja útil para você.
Até mais!