Olá pessoal, tudo certo?

Desde que comecei a trabalhar com desenvolvimento, mudei diversas vezes de ambiente, ferramentas, linguagens, etc., e sei que ainda posso mudar mais algumas coisas… Mas de um tempo para cá, estabilizei com algumas linguagens e algumas ferramentas.

Como na maioria dos artigos que vou colocar aqui irei utilizar o mesmo, para quem está começando, vou apresentar quais ferramentas e plugins para cada linguagem / tipo de projeto que trabalho, como guideline.

Trabalho hoje com um Macbook pro, utilizando o macOS High Sierra, mas a maioria das ferramentas e plugins, assim como os procedimentos, são equivalentes para Windows e Linux.

Trabalho 50% do tempo com o VS Code, pois atende a maioria das minhas necessidades. Os 50% restantes, são para projetos Java com Gradle (maioria, já que trabalho como dev backend), que ainda não tem um suporte legal no VS Code. Mas no restante… Vamos aos plugins para cada plataforma / linguagem.

.NET Core

Trabalho com .NET desde que iniciei carreira e acompanho o .NET Core desde as primeiras versões públicas. Abaixo os plugins que uso no meu dia-a-dia:

1. C#

Este plugin habilita o suporte a linguagem C#, com IntelliSense, CodeLens, Debug e outras funcionalidades para trabalhar de forma produtiva com .NET Core utilizando C#.

2. C# Extensions

Este plugin facilita muito para não ter que digitar toda a estrutura de usings, namespace, class, etc. Ele habilita no menu de contexto para criar Classes e Interfaces em C#.

Este plugin facilita a criação de comentários / documentação XML das classes (utilizando o snippet de ///).

JAVA

No meu trabalho, a maioria dos serviços que desenvolvo são em JAVA. Abaixo os plugins que utilizo para trabalhar com JAVA, utilizando o Maven como geranciador de pacotes / build:

1. Language Support for Java(TM) by Red Hat

Este plugin habilita o suporte a Java no VS Code, com IntelliSense, CodeLens, Debug, uso do Maven, e outras funcionalidades. É o plugin obrigatório para se trabalhar com Java de forma mais produtiva.

2. Debugger for Java

Este plugin extende as funcionalidades de Debug do plugin “Language Support for Java(TM) by Red Hat”, de forma que o Debug no VS Code fica mais fácil e com suporte a Attach, Debug Console, e outras funcionalidades.

3. Maven for Java

Este plugin adiciona suporte a edição do pom.xml com autocomplete, atalhos para execução dos goals do Maven, além do suporte a múltiplos módulos do Maven, assim como múltiplos workspaces no VS Code.

4. Java Test Runner

Este plugin adiciona suporte ao JUnit Test Runner, permitindo visualizar logs de execução dos testes, resultados, executar e realizar debug de testes individuais e adiciona um Test Explorer para os testes encontrados no projeto. Funcionalidades do CodeLens, como exibição do status do teste, referências também estão presentes no plugin.

NodeJS & React

Iniciei estudando um pouco sobre Angular 2/4, mas acabei me entendendo melhor com React. Gosto da organização dele, da forma como adiciono as libs conforme preciso, deixando o projeto mais leve. Também utilizo JS no servidor, através do NodeJS. Segue a lista de plugins que utilizo para facilitar o meu trabalho com JS:

1. Babel ES6/ES7

Particularmente, gosto muito da sintaxe do ES6/7/TypeScript. Este plugin provê o code highlighting, valida erros de sintaxe, IntelliSense e outras funcionalidades como os plugins básicos de linguagens que mostrei antes.

2. ESLint

Integra o ESLint ao VS Code. Para utilizar este plugin, é necessário instalar o ESLint localmente no projeto através do comando npm install --save-dev eslint, ou de forma global, através do comando npm install -g eslint

Ele possui alguns comandos como criar o arquivo .eslintrc.json para as configurações de Lint do projeto, corrigir problemas “auto-fixable” e desabilitar / habilitar o Lint para o workspace temporariamente.

3. Import Cost

Este plugin é muito útil ao fazer um import / require de alguma lib em seu projeto, apresentando o custo (tamanho) da lib. Na própria documentação do plugin, temos um exemplo de importar a lib inteira do lodash ou apenas o módulo uniqueId, com uma redução de 70Kb para 3Kb, ou seja, um impacto bem menor no pacote de distribuição da aplicação.

Exemplo de uso do plugin:

Antes:

Depois:

4. npm

Este plugin adiciona funcionalidades como execução de scripts do npm através do VS Code, assim como validação e autocomplete dos pacotes no arquivo package.json

GoLang

Trabalho com GoLang na empresa faz alguns meses, para API’s que precisam suportar uma alta quantidade de requisições, sem a necessidade de aumentar demais a infraestrutura. Também utilizo quando preciso fazer trabalhos (workers) que precisam realizar vários requisições de forma paralela e simples. Para isso, utilizo alguns plugins:

1. Go

Este plugin habilita todo o suporte a linguagem GoLang no VS Code, inclusive integrando-se com os comandos de terminal do Go (através das configurações do plugin), permitindo a execução automática de testes, lint, organização de imports, etc. Permite também o Debug de aplicações Go, mas temos um ponto de atenção para isso: Os breakpoints devem ser inseridos antes da execução do aplicativo, pois são inclusos na compilação com instruções para depuração, devido a como o Go trabalha.

Uso geral

Os plugins abaixo, são comuns a qualquer tipo de ambiente / linguagem que estou utilizando. São mais sugestões mesmo, pois facilitam tarefas como testar uma API, documentação, etc.

1. AutoFileName

Fornece um autocomplete para diretórios e nomes de arquivo do projeto em imports, requires, usings, etc.

2. Colorize

Para edição de CSS, este plugin adiciona a cor como fundo ao texto para definições de cores nos arquivos CSS, SASS, LESS, etc.

3. EditorConfig for VS Code

Este plugin habilita o suporte a uso do arquivo de configuração .editorconfig, permitindo definir configurações / padrões de identação, tipo de caractere para identação, tamanho de tabulação, etc. para cada projeto.

4. Polacode

Encontrei este plugin faz pouco tempo e achei simplesmente sensacional. Ele permite gerar imagens com trechos do código, para utilizar em documentação, postagens em artigos.

5. Prettify JSON

Este plugin é bem útil ao abrir um JSON para análise no VS Code. Ele formata o JSON, com identação, deixando o conteúdo mais legível.

6. REST Client

Um client simples para API’s REST. Basta digitar conforme a sintaxe dele em uma aba de texto, teclar Cmd + Option + R (Ctrl + Alt + R para Windows / Linux) e ele abre uma nova aba com o resultado da requisição, apresentando não apenas o Body, mas Headers e demais informações úteis.

7. Version Lens

Este plugin mostra informações de versões de pacotes em npm, jspm, bower, dub e dotnet core no VS Code. Mostra a versão atual, Tag, qual a última versão, através de um recurso semelhante ao code lens. Com um clique na informação, ele atualiza no arquivo de pacotes a versão do mesmo.

8. TODO Parser

Basicamente, ele analisa seu código e busca o padrão de comentários //TODO: e exibe os mesmos em uma lista de tasks. Útil durante refatoração de projetos ou mesmo trabalho em equipe.

Finalizando…

Bom, estes são os plugins que utilizo no meu dia-a-dia. Caso tenham sugestões de plugins que vocês utilizam, comentem e irei atualizar o post com eles, ok?

Fico por aqui, em breve com novidades!

Abraços!