Desenvolvendo aplicações Java com o VS Code
Desenvolvendo aplicações Java com o VS Code
Você que está iniciando na programação em Java, possivelmente já ouviu falar em vários ambientes de desenvolvimento (IDEs), como Eclipse, IntelliJ, Netbeans, STS, certo? E provavelmente bateu aquela dúvida em qual utilizar, adivinhei?
Pois bem, tem uma nova opção que tem se tornado bem atrativa para os desenvolvedores, que é o Microsoft Visual Studio Code, ou VS Code, como é popularmente conhecido.
O VS Code é um editor de código-fonte autônomo e multiplataforma, que pode ser utilizado no Windows, macOS e Linux. O grande diferencial desse editor é que além de ter o conceito “lightweight”, ou seja, de ser um ambiente leve em comparação a outras IDEs, ele também é altamente customizável, com centenas de extensões existentes para serem utilizadas.
Nesse artigo, vamos mostrar as principais funcionalidades e dicas para que você consiga iniciar o desenvolvimento de uma aplicação Java utilizando o VS Code.
Vamos lá?
Instalação
Se o seu sistema operacional é Windows ou o macOS, o VS Code já tem um pacote de instalação que vai prover os principais recursos para o setup inicial do ambiente, que é o Coding Pack for Java. Nesse pacote de instalação já estão incluídos os seguintes itens:
- JDK (Java Development Kit - pode variar a versão, de acordo com a data que você fizer o download, mas geralmente é uma versão LTS, ou seja, com suporte de longo prazo. No momento da publicação desse artigo a versão é a 17);
- VS Code
- Extensões essenciais Java (ou Java Extension Pack)
Caso você esteja utilizando o Linux, será necessário fazer o download e instalação separadamente desses três itens.
O que são essas extensões essenciais Java?
O Java Extension Pack é um pacote que contempla seis extensões essenciais para facilitar o desenvolvimento, build, debug e teste de aplicações Java. São essas:
Language Support for Java:
Essa extensão é fornecida pela própria Red Hat e é responsável por diversos recursos que otimizam o desenvolvimento, como: code completion, as-you-type reporting (que já detecta e destaca erros de sintaxe e compilação no momento da digitação), organização dos imports, ações de código (como gerar getters e setters, construtores, toString), trechos de códigos prontos (code snippets), suporte a arquivos individuais com extensão .java, para que sejam executados no próprio terminal do VS Code e muitos outros recursos já conhecidos por quem já utiliza outras IDEs.
Debugger for Java
É uma extensão da Microsoft que vai permitir que você faça a depuração do código, incluindo breakpoints (pontos de interrupção) para avaliar valores de variáveis e o que está acontecendo na aplicação, tendo a possibilidade de fazer substituições ‘a quente’ no código (hot code replaces). Tem recursos de step in/out/over para navegar nos métodos, pausa e continue, além de outras facilidades que ajudam na investigação de problemas e comportamentos inesperados na aplicação.
Test Runner for Java
Essa extensão, também da Microsoft, possibilita a depuração e execução de casos de teste escritos em Java, com uso dos frameworks JUnit ou TestNG. Essa extensão tem como pré-requisito a instalação das duas primeiras citadas.
Maven for Java
A extensão do Maven fornece suporte para criação de projetos seguindo algum arquétipo do Maven, bem como atalhos para inclusão e controle das dependências no POM (Project Object Model) além da customização de comandos.
Project Manager for Java
Essa extensão atua como um gerenciador de projetos, oferecendo algumas facilidades no que tange à visualização das principais configurações e estrutura do projeto aberto no VS Code.
Visual Studio IntelliCode
Por fim, a extensão Intellicode que é uma espécie de intellisense assistido, que já coloca como atalho no topo da lista do code completion, os comandos que tem mais possibilidades de serem utilizados, conforme o exemplo abaixo, onde após a digitação das palavras System.out ele já sugere os comandos mais usados, como println, printf e assim sucessivamente:
Vamos abrir o VS Code e começar a desenvolver?
Para executar a maioria dos comandos, utilizamos o atalho Ctrl + Shift + P ou pelo menu View → Command Palette. O nome do menu pode mudar caso esteja sendo usado em outro idioma. Aqui vamos manter as dicas utilizando o inglês por padrão.
Para iniciar um novo projeto Java, vamos abrir a paleta de comando e escolher a opção Java: Create Java Project.
Repare que ele já abre uma nova tela com várias opções de projeto Java. O VS Code tem extensão para facilitar a criação com qualquer que seja a opção escolhida: Maven, Gradle, Spring Boot, Quarkus ou MicroProfile.
Vamos escolher a opção “No build tools” apenas para ver algumas opções básicas do VS Code.
Deverá ser informada a pasta na qual o projeto será gerado e o nome do mesmo. Ao prosseguir, já será criada uma estrutura de pacotes, com as pastas .vscode (que contém o arquivo settings.json), a pasta bin (que vai conter os arquivos com a extensão .class), a pasta lib (onde ficam os recursos ou bibliotecas utilizadas na aplicação) e a pasta src (onde fica o código-fonte, no nosso caso, as classes).
Já é criada a primeira classe, a App.java, com o método main e o nosso famoso Hello, World!.
Para criar uma nova classe, podemos utilizar novamente a paleta de comandos e buscar a opção Java: New Java Class. Vou dar o nome Artigo para prosseguir com a criação da classe Artigo.java.
Vamos incluir alguns atributos e usar os recursos da IDE para finalizar as implementações dos getters, setters, construtores e toString.
Veja que aqui na imagem a seguir, após a inclusão de alguns atributos, alguns já aparecem em vermelho.
Veja também que para o tipo LocalDate já foi feito o import automático na linha um, indicando o nome completo (pacote + classe), que é java.time.LocalDate.
Para os tipos que estão sublinhados de vermelho, ao clicar no ícone da lâmpada ou clicar com o botão direito no ter, ou ainda, usar o atalho Ctrl + . , ele já faz algumas sugestões, sobre criar uma nova classe, interface, enum ou até mesmo usar como referência a classe Category do pacote java.util.Locale, conforme a imagem abaixo:
Poderíamos escolher criar um enum para Categoria e uma nova classe para Autor e continuar codificando nossa aplicação. Uma vez conhecidos os tipos, ele passa a apresentar um sublinhado amarelo, indicando que o valor do nosso atributo não está sendo usado em lugar nenhum.
Para isso, vamos usar os atalhos do editor para criar automaticamente os getters e setters. Para isso, basta clicar com o botão direito na janela do editor, onde está aberta a sua classe e navegar até a opção Source Action.
Algumas opções vão aparecer, como a de gerar testes, organizar os imports (incluindo referências ou removendo referências não utilizadas), gerar somente os getters, somente os setters, gerar ambos simultaneamente, construtores, e outras opções, como demonstrado na imagem.
Vamos gerar primeiramente os getters e setters:
É possível escolher todos ou somente alguns atributos. Ao escolher todos, podemos observar que ele já vai criar corretamente os métodos de forma automática.
Podemos fazer o mesmo procedimento para criar um construtor com todos os atributos e também um override do método toString.
Clicar com o botão direito na janela >> Source Action >> Generate Constructors…
A mesma coisa para o toString. Botão direito na janela >> Source Action >> Generate toString()...
Para finalizar, vamos criar um objeto da classe Artigo na nossa classe App e visualizá-lo no Terminal. Na classe App.java, vou fazer a seguinte implementação:
Ao clicar no atalho Run, logo acima do método main, vamos ter a seguinte saída no terminal:
O artigo foi impresso de acordo com o código gerado no toString da classe Artigo.
E aí, gostou?
Como você pôde ver, o VS Code está preparado para oferecer diversas facilidades e recursos para que você consiga desenvolver aplicações Java com rapidez e confiabilidade, não deixando a desejar diante das IDEs mais conhecidas e robustas! A infinidade de extensões disponíveis para personalizar o seu ambiente e fazer rapidamente o setup inicial de um projeto independente do framework ou da ferramenta de build tem ganhado o coração de muitos devs. E você? Vamos dar uma chance pro VS Code e explorar suas funcionalidades e recursos?
Se você está mergulhando no desenvolvimento Java e quer conhecer mais IDEs além do VS Code, confira esses conteúdos que separamos para você!