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.

GitHub do projeto NVM

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.

Continua após a publicidade

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
}
Continua após a publicidade

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.

Continua após a publicidade

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!