Spring i Visual Studio Code

Visual Studio Code jest jednym z najpopularniejszych edytorów kodu, rozwijanym przez firmę Microsoft. Jest bezpłatny, a dzięki bogatej ofercie pluginów daje ogromne możliwości i wsparcie dla większości najpopularniejszych technologii, w tym także frameworków Javy takich jak Spring. W tym artykule pokażę Ci jak skonfigurować środowisko, jakie daje możliwości i czy jest jakąkolwiek alternatywą dla płatnego IntelliJ IDEA Ultimate.

Visual Studio Code i VSCodium

VSC można pobrać w dwóch wersjach. Z oficjalnej strony od firmy Microsoft, albo ze strony społecznościowego projektu VSCodium. Różnica polega na tym, że firma Microsoft dodaje do swojej wersji dodatkowe rzeczy związane z telemetrią i śledzeniem. Nawet jeżeli zbierane są wyłącznie dane, które są zanonimizowane i służące do rozwoju projektu, to nie każdy może się czuć z tym komfortowo i wtedy lepiej wybrać drugą z wymienionych opcji. Funkcjonalnie są one sobie równe.

Instalacja edytora

W zależności od systemu operacyjnego instalacja może przebiegać różnie. W przypadku Windowsa sprawa jest dosyć prosta - pobieramy odpowiedni instalator i z niego korzystamy. W przypadku MacOS najwygodniej skorzystać z homebrew:

Visual Studio Code:
brew install --cask visual-studio-code

VSCodium:
brew install --cask vscodium

Instalacja pluginów

Visual Studio Code jest edytorem, który domyślnie przeznaczony jest raczej do technologii webowych, takich jak HTML, CSS i JavaScript. Domyślnie nie posiada wsparcia dla języka Java (poza kolorowaniem składni), więc z poziomu edytora nie będziesz w stanie np. uruchomić aplikacji. Na szczęście można to łatwo zmienić poprzez instalację kilku pluginów od firm takich jak Red Hat, czy Pivotal (twórcy Springa). Nas będą interesowały:

Rozszerzenia najwygodniej jest zainstalować bezpośrednio z poziomu edytora, przechodząc do jednej z jego zakładek:

Tworzenie projektu

Spring Tool Extension Pack zawiera w sobie m.in. plugin Spring Initializr Java Support, dzięki czemu otrzymujemy wygodny kreator projektów Spring Boota oparty o stronę start.spring.io. Centralnym punktem Visual Studio Code jest okno komend, które możemy otworzyć, wciskając skrót Ctrl + Shift + P na Windows, albo + Shift + P na MacOS.

W oknie, które się pojawi, nie musimy wpisywać żadnych skomplikowanych komend, wystarczy wyszukać to co chcemy zrobić. Nas interesuje utworzenie projektu Springa:

Po wybraniu jednej z opcji (np. projektu opartego o Mavena) zostaniemy przeprowadzeni przez proces tworzenia projektu, gdzie będziemy mogli wybrać:

  • wersję Spring Boota (najlepiej wybrać najnowszą),
  • groupId i artifactId (cechy Mavena, np. pl.javastart i demo ),
  • rodzaj pakowania aplikacji Jar/War (najczęściej wybieramy Jar),
  • wersję Javy (najlepiej wybrać najnowszą),
  • wybór starterów (meta zależności mavena i automatyczna konfiguracja projektu). Na potrzeby przykładu dodaj starter Spring Web.

Na końcu zostaniemy jeszcze poproszeni o wskazanie katalogu dla projektu na dysku twardym. Po wygenerowaniu projektu otwieramy go:

Edycja pliku konfiguracyjnego

Visual studio Code daje możliwość podpowiedzi w plikach konfiguracyjnych application.properties i application.yml.

Dodawanie starterów

Jeżeli zapomnisz o dodaniu jakiegoś startera do projektu, to w Visual Studio Code możesz zrobić to wygodnie w dowolnym momencie i w dowolnym miejscu. Wystarczy otworzyć okno komend i wyszukać "starter":

Generowanie metod kontrolerów

W metodach kontrolerów możesz wygodnie generować szablony metod obsługujących żądania GET, czy POST. W klasie kontrolera wpisz "Get", albo "Post":

Kurs Spring framework

Debugger

Po lewej stronie możesz znaleźć Spring Boot Dashboard, z którego możesz w wygodny sposób uruchamiać projekt w sposób standardowy, albo w trybie debuggowania. Dashboard jest szczególnie użyteczny jeżeli tworzysz aplikację opartą o mikroserwisy, bo nie musisz otwierać kilku osobnych okien edytora.

Po uruchomieniu aplikacji w trybie debuggowania możesz się do niej dodatkowo podpiąć, zyskując nowe możliwości. Projekt powinien mieć dodany starter do actuatora (spring-boot-starter-actuator). W konsoli poleceń Visual Studio
Code wyszukaj opcję "Manage Live Spring Boot Process Connections", a następnie podłącz się do swojej aplikacji:

Nad metodami kontrolerów wyświetlą się klikalne adresy URL endpointów, które możesz wygodnie otworzyć w przeglądarce. Z pewnym opóźnieniem powinny się tam także pojawiać statystyki actuactora takie jak czas wykonania metody oraz liczba jej wywołań.

Podsumowanie

Chociaż Visual Studio Code ma ograniczone możliwości w porównaniu do IntelliJ IDEA Ultimate, to mimo wszystko stanowi dla niego ciekawą i całkowicie bezpłatną alternatywę. Jeżeli nie uśmiecha Ci się wydawać co rok kilkaset zł na licencję, to VSC do prostych zastosowań jest więcej niż wystarczające. W tym artykule skupiliśmy się wyłącznie na wsparciu edytora dla tworzenia aplikacji w Springu, ale VSC daje ogromne możliwości w kontekście tworzenia stron HTML, edycji plików CSS, czy skryptów JavaScript. W tych kategoriach dorównuje, a czasami nawet prześciga swojego płatnego rywala ze stajni Jetbrains.

Dyskusja i komentarze

Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.