Dicas de Visual Studio Code: integração com Git via Terminal e Kubernetes Templates | pt5

Renato Groffe
6 min readJun 27, 2021

Este é o quinto artigo da série que venho produzindo com dicas e truques na utilização do Visual Studio Code. Demonstrarei neste post:

  • Como integrar o Terminal do Visual Studio Code a repositórios Git em Windows (com posh-git + Oh My Posh) e Linux (com Z shell + Oh My Zsh);
  • A geração rápida de código definindo objetos do Kubernetes por meio do uso da extensão Kubernetes Templates.

Caso você não tenha acessado outros conteúdos dessa série ou deseje até mesmo revê-los, seguem os links dos artigos já publicados:

Dicas de Visual Studio Code: testes de APIs REST e integração com Azure DevOps | pt4

Dicas de Visual Studio Code: extensões para MongoDB e Git | pt3

Dicas de Visual Studio Code: extensões para Redis e geração de arquivos .gitignore | pt2

Dicas de Visual Studio Code: extensão para Kubernetes | pt 1

Aproveito esse espaço para um convite…

Dia 30/06 (segunda) às 21:00 horário de Brasília — teremos mais um evento online e gratuito no canal Canal .NET.

Ao longo desta live abordarei dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET 5, ASP.NET Core, Azure Functions. Ao longo da apresentação será coberto o uso de diferentes frameworks, serviços na nuvem, mensageria, bancos de dados e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.

Teremos também algumas novidades do .NET 6 demonstradas na prática!

Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube:

https://bit.ly/live-backend-dotnet-jun-2021

Z shell + Oh My Zsh: integração com repositórios Git em Linux

O Z shell (Zsh) é uma opção de terminal para Linux que se destaca por seu potencial de customização. Uma das alternativas que viabilizam isto é o projeto Oh my Zsh, com plugins para o uso de temas e que possibilita até mesmo a integração com repositórios Git a partir da linha de comando (exibindo informações de status como branch selecionada, alterações não comitadas…).

Na imagem a seguir podemos observar o Z shell sendo utilizado no Ubuntu Desktop 20.04. Ao acessarmos um repositório Git será exibida a branch selecionada, bem como indicadas alterações não comitadas (neste exemplo destacadas pelo X em amarelo):

Estas capacidades podem também ser estendidas para o trabalho com o Visual Studio Code. Na próxima imagem observar o uso do Z shell como terminal integrado dentro do próprio VS Code:

Clique nesta imagem para visualizar com uma melhor resolução

E como esta integração com o Visual Studio Code foi possível?

Para instalar o Zsh no Ubuntu executei o comando:

sudo apt install zsh

Informações adicionais sobre a instalação do Z shell em outras plataformas (até mesmo Windows e Linux) podem ser encontradas no link:

Installing ZSH · ohmyzsh/ohmyzsh Wiki

Em seguida instalei o Oh my Zsh por meio da instrução:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Outros detalhes sobre a instalação do Oh my Zsh estão na página oficial do projeto no GitHub:

https://github.com/ohmyzsh/ohmyzsh

No próximo link estão listados temas para uso do Oh my Zsh:

Themes · ohmyzsh/ohmyzsh Wiki

Para configurar o tema escolhido editei o arquivo ~/.zshrc no VS Code através da instrução:

code ~/.zshrc

Informando em ZSH_THEME o tema jispwoso:

Por fim defini o Zsh como shell padrão no Ubuntu:

chsh -s $(which zsh)

posh-git + Oh My Posh: integração com repositórios Git em um Terminal PowerShell

Além da combinação Z shell + Oh My Zsh para Linux, podemos também tirar proveito em Windows + PowerShell de uma alternativa equivalente com os projetos posh-git e Oh My Posh.

O posh-git é justamente o módulo que permitirá a integração do PowerShell com repositórios Git. Para instalar este complemento executei o comando:

Install-Module posh-git -Scope CurrentUser -Force

Devemos também instalar o Oh My Posh, a fim de habilitar temas e capacidades adicionais com o posh-git. Este módulo foi instalado com a instrução:

Install-Module oh-my-posh -Scope CurrentUser -Force

Informações adicionais sobre o Oh My Posh podem ser encontradas em:

https://ohmyposh.dev/docs/

Para ativar a combinação posh-git + Oh My Posh devemos editar o arquivo de Profile do PowerShell Core, acrescentando ao mesmo as instruções a seguir (escolhi aqui o tema slimfat):

Editei o arquivo de Profile do PowerShell Core por meio da instrução:

code $PROFILE

Podemos observar esses ajustes na próxima imagem:

Na próxima imagem temos o posh-git e o Oh my Posh já habilitados para utilização com o PowerShell Core no Windows Terminal, com os diferentes estados da branch main de um site ASP.NET Core (é possível notar até mesmo a versão do SDK do .NET 5 - 5.0.301 - configurada para o projeto em questão):

É importante também que uma fonte do tipo Nerd Fonts esteja instalada e configurada (tanto no Windows Terminal, como no VS Code).

Para os testes aqui demonstrados fiz uso da fonte MesloLGS NF Regular, indicando a mesma nas configurações de Terminal do Visual Studio Code:

Na imagem seguinte é demonstrada a utilização do Terminal do Visual Studio Code com o posh-git e o Oh my Posh devidamente configurados (escolhi aqui o tema slimfat, conforme mencionado anteriormente):

Clique nesta imagem para visualizar com uma melhor resolução

Aproveito para agradecer ao meu amigo Ewerton Rodrigues Jordão pelas diversas dicas envolvendo o uso do posh-git, Oh my Posh, Zsh e Oh my Zsh.

Kubernetes Templates

A extensão Kubernetes Templates permite preencher arquivos YAML em branco com as configurações necessárias à criação dos diferentes objetos do Kubernetes.

Após instalar essa extensão e ao digitar k8s ou kube o IntelliSense listará as diversas opções disponibilizadas. No exemplo a seguir foi demonstrado o uso dos templates para objetos como Deployment e Secret:

Clique nesta imagem para visualizar com uma melhor resolução

--

--

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker