Tenho usado o Visual Studio Code para desenvolvimento em JavaScript e TypeScript há vários anos e, mais recentemente, passei os últimos dois anos usando-o para projetos Java profissionais. Inicialmente, fiquei hesitante, mas o VSCode provou seu valor com recursos comparáveis aos encontrados em IDEs que já estão no mercado há algum tempo. Embora eu ainda aprecie outros IDEs Java populares, gosto de explorar novas ferramentas. O VSCode se tornou meu editor preferido para novos projetos Java.
Neste guia, configuraremos o Visual Studio Code para desenvolvimento Java ideal e exploraremos como maximizar seu potencial para fluxos de trabalho profissionais. Demonstrarei como o VSCode aumenta sua eficiência com extensões poderosas, ferramentas de depuração robustas e excelente suporte ao framework Spring.
Configurando o VS Code para desenvolvimento Java e JDK
A documentação do VSCode possui um tutorial abrangente de introdução que aborda os conceitos básicos. Recomendo fortemente que você o confira se é novo no uso do VSCode para desenvolvimento em Java. Neste guia, abordaremos alguns fundamentos e também exploraremos recursos mais avançados.
Se você ainda não instalou o Java ou o VSCode, a maneira mais fácil de começar é com o Coding Pack for Java. Este pacote inclui o VS Code, o Java Development Kit (JDK) e uma coleção de extensões essenciais da Microsoft. Aqui estão os links:
- Janelas: (https://aka.ms/vscode-java-installer-win)[https://aka.ms/vscode-java-installer-win]
- Mac: (https://aka.ms/vscode-java-installer-mac)[https://aka.ms/vscode-java-installer-mac]
Se estiver usando Linux, você precisará configurar o Java e o VSCode manualmente. Não se preocupe, abordaremos essas etapas nas próximas seções e também darei orientações caso prefira a configuração manual em outros sistemas operacionais.
Além do editor, também precisamos instalar o Java Development Kit (JDK). Você pode instalá-lo manualmente seguindo o guia oficial neste link . No entanto, meu método preferido é usar o SDKMAN – Software Development Kit Manager , que simplifica o gerenciamento de múltiplas versões do JDK no seu sistema.
Com o Visual Code instalado e o JDK pronto, vamos verificar sua configuração Java. Execute o seguinte comando no seu terminal:
java -version
E você deve obter uma versão como resultado:
Instalar extensões VSCode para Java: extensões básicas
A primeira extensão recomendada para instalação é o Extension Pack for Java da Microsoft, que inclui as seguintes extensões:
- 📦 Suporte de linguagem Java™ pela Red Hat : para navegação de código, autocompletar, refatoração e trechos de código.
- 📦 Depurador para Java : suporte à depuração.
- 📦 Test Runner para Java : execute e depure casos de teste JUnit/TestNG.
- 📦 Maven para Java : suporte Maven para estruturação de projetos e execução de tarefas/objetivos Maven.
- 📦 Gerenciador de Projetos para Java : permite uma visão do explorador de projetos, facilitando a criação de pacotes, classes e dependências de bibliotecas.
- 📦 Visual Studio IntelliCode : desenvolvimento assistido por IA.
Depois que o Extension Pack para Java estiver instalado, abra a Paleta de Comandos no VSCode e pesquise por Visão Geral do Java :
Abra a visualização e você deverá ver algo como a tela abaixo:
Com essa visualização, você pode instalar extensões Java adicionais, configurar atalhos (até mesmo usar os mesmos atalhos que você está acostumado em outros IDEs Java) e também acessar tutoriais.
Vamos rever o que cada uma dessas extensões nos oferece e como usá-las.
Suporte de linguagem para Java™ pela Red Hat
Esta extensão fornece suporte à linguagem Java com base no Eclipse, permitindo-nos criar/abrir projetos Java, refatorar e completar código.
Para testar, podemos criar um projeto abrindo a Paleta de Comandos no VSCode e buscando por Java new :
Selecione a opção Java: Criar Novo Projeto . Você será solicitado a escolher o tipo de projeto que deseja criar. Selecione ” Sem ferramentas de construção” , que criará um projeto muito semelhante ao que obteríamos ao criar o projeto usando o Eclipse IDE:
Em seguida, você precisará selecionar onde deseja que o projeto seja criado, para poder selecionar uma pasta no seu computador. Isso é semelhante ao conceito de espaço de trabalho que temos no Eclipse IDE. Em seguida, informe o nome do projeto:
O VSCode criará uma pasta com o nome fornecido e abrirá o projeto. Você pode abrir o App.java
arquivo.
Observe algumas coisas:
- 1 : Ao abrir uma classe com um
public static void main
método, você terá uma opção Executar e Depurar para poder executar seu arquivo. - 2 : A saída do programa será exibida no Terminal. Você pode ver que, nos bastidores, o VSCode está compilando e executando a
App
classe, seguido pela saída do programa (Hello, World!
). - 3 : Você pode gerenciar o projeto na barra lateral padrão do VSCode Explorer ou na seção Projetos Java fornecida pela extensão Project Manager for Java .
Com esta extensão, você obtém recursos muito semelhantes aos do Eclipse IDE.
A única desvantagem que observei é que às vezes demora algumas semanas após o lançamento do Java para adicionar os novos recursos. Mas se você não tem pressa para usar os recursos mais recentes do Java, isso não será um problema.
Configurando a versão JKD
Por padrão, a extensão usará a versão do Java definida na sua variável de ambiente JAVA_HOME. Se, por algum motivo, você precisar modificar a versão do JDK para um projeto específico, poderá configurar uma lista de JDKs disponíveis para que possam ser facilmente atualizados em seus projetos.
Para fazer isso, abra as configurações do VSCode e pesquise por jdk :
Você precisará adicionar a configuração diretamente ao settings.json
. Abaixo está o que eu tenho, e defini o Java 21 como a versão padrão. Você pode definir quantas versões precisar.
"java.configuration.runtimes": [
{
"name": "JavaSE-17",
"path": "/Users/loiane/.sdkman/candidates/java/17-open"
},
{
"name": "JavaSE-21",
"path": "/Users/loiane/.sdkman/candidates/java/21-oracle",
"default": true
}
]
Para atualizar o JDK do projeto, abra a tela Visão Geral do Java novamente (via Paleta de Comandos) e selecione Configurar o Java Runtime . Os projetos que você possui no seu espaço de trabalho atual do VSCode serão abertos e um menu suspenso estará disponível para você selecionar uma versão existente que você tenha instalado:
Você também tem a opção de baixar um JDK diretamente do VSCode clicando no link de download .
Depurador para Java
Conforme a descrição da extensão: “Um depurador Java leve baseado no Java Debug Server que estende o suporte à linguagem Java da Red Hat. Ele permite que os usuários depurem código Java usando o Visual Studio Code (VS Code)”.
Este depurador funciona de forma muito semelhante a outros IDEs Java:
- 1 : Execute seu projeto no modo de depuração para iniciar a depuração – certifique-se de abrir a visualização “Executar depuração” na barra lateral;
- 2 : Adicione pontos de interrupção às linhas de código cuja execução você gostaria de interromper para verificar mais detalhes;
- 3 : Você pode retomar o programa, entrar, passar por cima, reiniciar e parar a execução (semelhante às opções do Eclipse);
- 4 : Você pode ver variáveis locais e variáveis globais;
- 5 : Você também pode adicionar quais variáveis ou expressões observar;
- 6 : Também é possível digitar ou colar variáveis ou expressões no Console de Depuração para verificar os resultados de uma expressão (semelhante ao modo Observar);
- 7 : O VSCode também mostrará os valores das variáveis e expressões, o que é muito útil.
Acho a experiência muito semelhante ao Eclipse IDE, e ele abrange todas as funcionalidades que precisamos para depurar aplicativos Java.
Gerente de Projetos para Java
Esta extensão fornece recursos adicionais do explorador de projetos Java.
Acho muito útil criar novos pacotes e classes (e outros tipos de arquivos Java) e gerenciar dependências para projetos simples.
Todas as três extensões que analisamos até agora funcionam bem em conjunto com a extensão Language Support for Java by Red Hat. Analisaremos as outras extensões mais adiante neste guia com exemplos mais complexos.
Extensão de suporte à plataforma Java da Oracle
A extensão Java Platform Support foi lançada pela Oracle em 2023 e é uma alternativa à extensão da Red Hat. Esta extensão cria projetos baseados no NetBeans.
A maior vantagem desta extensão é que você obtém suporte à linguagem Java, suporte ao depurador e suporte ao explorador de projetos, o que significa que é uma extensão três em um se a compararmos com as extensões do Red Hat.
Vamos criar um novo projeto. Acesse a Paleta de Comandos , pesquise por java new e selecione Java: New Project :
Selecione Maven ou Gradle, de acordo com sua preferência:
Selecione o aplicativo Java:
Digite o caminho completo onde seu aplicativo será criado, incluindo o nome do projeto:
Digite o nome do pacote padrão:
E este será o resultado:
Obtemos o mesmo “Executar | Links de “Depuração”, mas em vez disso, é chamado de “Executar o principal | Depurar principal”. |
Quando executamos o projeto, em vez de obter a saída no Terminal, a obtemos no Terminal de Depuração.
Também temos um explorador de projetos. No entanto, também temos uma visualização de Configuração de Execução, onde podemos passar variáveis de ambiente e definir outros parâmetros.
A experiência do depurador também é muito semelhante e tem todas as funcionalidades que podemos precisar.
A Oracle publicou esta visão geral aprofundada destacando todos os recursos incluídos: https://youtu.be/3NSdlU22C0Q .
No final das contas, é uma questão de preferência pessoal.
Trabalhando com Spring Framework
O VSCode também oferece suporte a projetos Spring Boot instalando o Spring Boot Extension Pack .
Após a instalação do pacote de extensão, podemos criar um novo projeto. Recebemos exatamente o mesmo suporte que https://start.spring.io/ — com exceção da opção Explorar , disponível apenas na versão web.
Pessoalmente, de todos os IDEs gratuitos, este é meu suporte favorito para projetos Spring.
Para começar, abra novamente a Paleta de Comandos e pesquise por spring . Você pode selecionar entre projetos Maven ou Gradle:
Selecione a versão desejada do Spring Boot:
Digite o nome do pacote (podemos definir um valor padrão):
Digite o nome do projeto (podemos definir um valor padrão):
E selecione todas as dependências necessárias. Não se preocupe se você esquecer alguma dependência. Podemos modificá-la a qualquer momento:
Painel de Primavera
Para executar ou depurar um projeto Spring, temos algumas opções diferentes:
- 1: Use o Spring Dashboard e clique no ícone Play para iniciar o projeto.
- 2: Abra a classe principal e clique em Executar ou Depurar .
- 3: Clique no ícone Play que obtemos ao abrir o projeto no VSCode.
O painel é muito útil e fornece informações significativas:
- 1: Ele lista todos os Beans criados e, em cada classe, você também pode verificar quais Beans foram injetados.
- 2: Acima de cada ponto final nos Controladores, será adicionado um link para que você possa clicar nele e abri-lo no navegador – isso é muito útil para solicitações GET.
- 3: E também lista todos os endpoints e, se você passar o mouse, também verá um ícone de globo que você pode usar para abrir esse link no navegador.
Testando APIs REST
Quando se trata de testar os endpoints do nosso projeto, podemos obter um recurso semelhante ao de outros IDEs instalando a extensão REST Client .
Esta extensão nos permite criar um arquivo .http e adicionar solicitações de amostra à nossa API (semelhante ao Postman). Por exemplo, eu gosto de criar um arquivo api.http
com as solicitações para testar meus endpoints:
Você pode enviar este arquivo para o repositório e todos que trabalham no projeto podem usá-lo localmente, desde que tenham a extensão instalada.
Modificando pom.xml – Spring starters
Um dos meus recursos favoritos do pacote de extensão Spring é poder adicionar dependências ao pom.xml diretamente do VSCode.
Se você abrir o pom/xml
arquivo e navegar até as dependências, verá um link que permitirá adicionar novos pacotes iniciais ao projeto:
A lista de dependências será aberta e você poderá selecionar dependências adicionais ou remover as existentes. Você também pode modificar as dependências clicando com o botão direito do mouse no pom.xml
arquivo e selecionando Adicionar Iniciadores… . Uma terceira alternativa é usar a Paleta de Comandos.
Você receberá uma notificação solicitando confirmação para adicionar a nova dependência.
Neste exemplo, selecionamos o suporte ao Docker Compose. Se você selecionar essa dependência ao criar um novo projeto Spring, ele também adicionará um docker.compose
arquivo. No entanto, essa opção não adiciona nem modifica arquivos adicionais, apenas atualiza o pom.xml
arquivo.
Projetos Fullstack
Para projetos full-stack em que você precisa lidar com uma API Spring (ou vários serviços!) e um front-end, o VSCode se destaca. Ele elimina o incômodo de memorizar atalhos diferentes entre IDEs. Você pode alternar facilmente entre projetos, mantendo todos os serviços relevantes abertos simultaneamente:
Você ainda terá o mesmo suporte e, além disso, poderá ter suas extensões de front-end instaladas.
Se preferir ter janelas diferentes abertas (uma para o front-end e outra para o back-end), você pode usar Perfis diferentes que habilitarão apenas as extensões necessárias:
Também gosto de usar a extensão Peacock e definir cores diferentes para poder diferenciar facilmente em qual projeto estou trabalhando.
Suporte a microsserviços
O pacote de extensões Spring do VSCode realmente se destaca ao trabalhar com arquiteturas de microsserviços. Se você trabalha frequentemente com vários serviços, vai gostar da facilidade e rapidez que ele traz ao seu fluxo de trabalho – foi isso que me conquistou para o desenvolvimento em Java.
Adicionar novos serviços a uma solução de microsserviços existente torna-se incrivelmente simplificado. O processo reflete a simplicidade e a velocidade de usar o Spring Initializr diretamente.
O Spring Dashboard torna muito simples lidar com vários microsserviços:
Docker
Não podemos abordar o desenvolvimento moderno sem abordar o Docker. E, claro, também existe uma extensão do Docker para isso.
Podemos gerenciar imagens, enviá-las para o registro, verificar imagens e logs de contêineres e muito mais. Gosto dessa visualização porque não preciso sair do editor para verificar se uma imagem está sendo executada com sucesso — tudo o que preciso fazer é lembrar de iniciar o serviço Docker!
Outro recurso interessante é o suporte ao Docker-Compose. Gosto desse recurso premium em outros IDEs, e é ótimo podermos obter suporte semelhante gratuitamente no VSCode. Mas, em vez de abrir o arquivo e clicar no ícone para fazer um compose up
, precisamos clicar com o botão direito do mouse no docker.compose
arquivo e selecionar as opções abaixo:
Testes e Cobertura de Testes
Ao instalar a extensão Test Runner for Java ou a extensão Java Platform Support, obtemos suporte a testes para projetos Java. Temos acesso a uma Visualização de Testes, onde podemos ver todos os casos de teste que escrevemos para o projeto, sejam testes unitários ou de integração.
O que eu gosto nesse suporte é que podemos executar facilmente todos os casos de teste clicando no ícone “Play” . Podemos verificar os logs para ver se há casos de teste com falha. Há também um ícone onde podemos ir diretamente para o código-fonte do teste.
Quando abrimos um arquivo de teste, também podemos executar todos os casos de teste presentes naquela classe ou executar cada caso de teste individualmente (isso é muito útil se estiver usando TDD – Test Driven Development ).
Outras extensões úteis
Estas são as extensões mais úteis que utilizo ao trabalhar com projetos Java. Se você quiser usar as mesmas extensões, criei um pacote de extensões com todas as que considero úteis para desenvolvimento Java + Spring:
📦 Pacote de extensão Java + Spring
Vamos verificar algumas extensões adicionais que também são muito úteis.
Snyk, Checkmarx e Sonarlint
Manter nosso código seguro e as dependências atualizadas faz parte da manutenção básica que precisamos fazer em nossos projetos. Abaixo está a lista de plugins recomendados e suas descrições:
- Segurança Snyk : o plugin Snyk Visual Studio Code escaneia e analisa seu código, incluindo dependências de código aberto e configurações de infraestrutura como código. Baixe o plugin a qualquer momento gratuitamente e use-o com qualquer conta Snyk. Escaneie seu código no início do ciclo de desenvolvimento para ajudá-lo a passar nas revisões de segurança e evitar correções dispendiosas posteriormente.
- Checkmarx : A Checkmarx continua a liderar a abordagem “shift-left” para AppSec, trazendo nossas poderosas ferramentas de AppSec para o seu IDE. Isso permite que os desenvolvedores identifiquem vulnerabilidades e as remediem enquanto codificam. O plugin Checkmarx Visual Studio Code integra-se perfeitamente ao seu IDE, identificando vulnerabilidades em seu código proprietário, dependências de código aberto e arquivos IaC. O plugin oferece insights de remediação acionáveis em tempo real.
- SonarLint : O SonarLint da Sonar é uma extensão de IDE gratuita que permite corrigir problemas de codificação antes que eles existam. Mais do que um linter, o SonarLint detecta e destaca problemas que podem levar a bugs, vulnerabilidades e code smells enquanto você cria seu código. Ele oferece orientações claras de correção e ajuda educacional, para que você possa corrigir problemas antes que o código seja enviado. Pronto para uso, o SonarLint no VS Code suporta análise de código JS/TS, Python, PHP, Java, C, C++, C#, Go e IaC localmente no seu IDE.
- Checkstyle para Java : verifique o formato do seu código Java e corrija-o! (muito semelhante ao conhecido plugin Eclipse).
MongoDB
O MongoDB para VS Code facilita o trabalho com seus dados no MongoDB diretamente do seu ambiente VS Code. O MongoDB para VS Code é o companheiro perfeito para o MongoDB Atlas, mas você também pode usá-lo com suas instâncias autogerenciadas do MongoDB.
MySQL
MySQL Shell para VS Code : Esta extensão permite a edição e execução interativa de SQL para bancos de dados MySQL e o serviço MySQL HeatWave. Ela integra o MySQL Shell diretamente aos fluxos de trabalho de desenvolvimento do VS Code.
Resumo
O VSCode oferece uma vasta biblioteca de extensões para personalizar seu ambiente de desenvolvimento, incluindo excelente suporte para provedores de nuvem. Seu robusto conjunto de recursos gratuitos e de alta qualidade e sua interface intuitiva o tornam uma escolha atraente. A transição para o VSCode é surpreendentemente tranquila!
Se você ainda não usa, recomendo fortemente que experimente. Se descobrir alguma extensão essencial, compartilhe nos comentários – estou sempre ansioso para explorar novas ferramentas.
Boa codificação!