Por quê me rendi ao VS Code?
Há alguns anos, quando estava começando a desenvolver, tinha muitas dúvidas sobre qual o ambiente de desenvolvimento seria o melhor para mim. Como todo bom iniciante, instalei várias IDEs indo do Netbeans, Eclipse e chegando ao Visual Studio. Não entendia nem um quarto das funcionalidades que estavam disponíveis (talvez hoje não saiba nem a metade). A verdade é que a minha maior necessidade era programar Arduino. Com o tempo fui mudando de necessidades e estava muito mais interessado em desenvolver sites no saudoso Joomla! e no mais atual Wordpress. O Visual Studio começou a me parecer muito custoso para as minhas necessidades. Havia muito mais funcionalidades do que eu realmente usaria e para editar um simples texto demorava mais do que eu gostaria. Durante as várias pesquisas e perguntas no fórum encontrei o Sublime Text que desde a versão 1 parecia ser editor de texto ideal para as minhas necessidades. Até então não tinha me deparado com o Vim ou Emacs, então o Sublime era a solução dos meus problemas. Sei que comparar uma IDE com um editor de texto não faz muito sentido, mas no final das contas só o que gostaria naquela altura era um local para programar em PHP e JS.
Indo mais para a área de ciência de dados conheci o Jupyter Notebook. Uma IDE no browser que facilita absurdamente a construção de código, podendo visualizar os datasets e gráficos, além de criar notebook muito bem documentado com o Markdown. O Jupyter serve muito bem para demandas de análise e ciência de dados, mas acaba perdendo terreno quando o assunto é desenvolvimento de software. Conheci o PyCharm e vi muitas possibilidades com a IDE. Apesar de facilitar muito a fluidez da escrita de código, os problemas do Visual Studio estavam se repetindo, só que agora em uma linguagem diferente. No final, acabava abrindo o PyCharm assim que chegava no escritório e deixava aberto, "em caso de precisar". Essa não me parecia a maneira mais eficiente de usar minhas ferramentas.
Isso até o Visual Studio Code!
Sendo muito sincero, instalei o VS Code e fiquei sem usá-lo pra valer por quase um mês. A verdade é que estava com mais preconceito do que qualquer outra coisa com o "irmão menor" do Visual Studio. A minha expectativa era esperar longos segundos de carregamento de arquivos e uma interface cheia de opções. A realidade foi muito mais feliz! O Visual Studio Code é um híbrido entre IDE e editor de texto bem construído e muito bem resolvido. Muitas características me fizeram migrar para o editor, mas algumas das mais marcantes são algumas que conto abaixo.
- Sublime Keymap
Nada melhor do que mudar de editor de texto, mas continuar utilizando os mesmos atalhos. Essa é uma extensão específica do VS Code que fez a minha transição ser muito mais suave do que imaginei que seria. Poder usar as mesmas teclas e as mesmas configurações de ambiente foi um alívio e tudo ocorreu sem dor de cabeça.
- Extensões
Com um usuário do Sublime, as extensões foram as primeiras coisas que me chamaram a atenção. Mesmo com o relativo pouco tempo, o editor me pareceu muito completo com as diversas extensões para muitas linguagens e facilidades.
- Debug
Debugar com o Code é realmente excelente. Essa é uma das funcionalidades que faz do Code quase uma IDE. É possível fazer diversas configurações das linguagens e frameworks utilizados. Pessoas que trabalham com Typescript e Coffescript ficam surpreendidas com a precisão com que o debug funciona.
- IntelliSense
Para quem usou o PyCharm, o IntelliSense se torna uma funcionalidade indispensável. O Code entrega essa característica muito bem, aumentando a produtividade no desenvolvimento do código. Além disso, a extensão "Visual Studio IntelliCode" tem como proposta analisar bases de código e sugerir para quem está desenvolvimento quais são os trechos de código que podem servir para a funcionalidade que está desenvolvendo.
- Terminal integrado e Interpretadores
Uma das funcionalidades que mais me deixou feliz e satisfeito foi a existência de um terminal no próprio editor, o que o torna mais próximo de uma IDE. Hoje tenho o terminal do editor integrado com o interpretador do Anaconda. Então consigo fazer com que os workspaces do Code estejam integrados com os virtual envs do Conda. Basta adicionar o Path do Anaconda ao Code e executar seu código.
- Integração com a Azure
Seguindo o padrão do Visual Studio, o Code é integrado com a Azure. Logo muito dos seus códigos podem ser deployados diretamente nos componentes da nuvem. Essa extensão deve ser combinada com a instalação do Azure CLI para que o ambiente esteja completo. O deploy no App Service e de Functions e a conexão com Storage e com o Cosmo DB são muito facilitadas. Ainda existem outras extensões que aumentam ainda mais as capacidades.
- Docker e Kubernetes "GUI"
Não que seja realmente uma GUI, mas a extensão de Docker para o VS Code é incrível. Comandos mais simples como build, run e inspect, que no fundo são os mais utilizados, são muito mais fáceis de serem executados. O código é executado na linha de comando do terminal e é visível, então não é como se fosse uma caixa preta executando um script. Ainda há visibilidade do que está acontecendo. Na mesma linha, a relação com o Kubernetes é muito boa. É possível fazer deployments, aumentar as réplicas e fazer algumas configurações n os serviços sem precisar sair do VS Code. Para configurações mais avanças ou monitoramento, ainda é necessário utilizar o Proxy para isso.
- Git "GUI'
O editor tem uma integração nativa com o Git, tornando o gerenciando do branch local muito mais fácil. Todos os comandos são facilmente utilizados, como diffs e history. Gerenciar os diversos projetos e visualizar os branchs também fica muito mais fácil com o editor.
- Lazy Loading
Um dos motivos que faz o editor ser rápido é que nem todas as extensões são carregadas no momento em que é iniciado. Algumas são carregadas apenas quando chamadas, o que permite que o editor atue com rapidez mesmo que muitas extensões tenham sido instaladas.
Ainda continuo usando o Jupyter Notebook para todas as demandas que tem a ver com análise de dados, mas para qualquer outro fim uso o Visual Studio Code.
E vocês? Quais as experiências que você tiveram com o Code? E o que fez vocês mudar de IDE/editor de texto?