Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Visual Studio Code Spring, server e sviluppo avanzato di Java

Visual Studio Code Spring. Come conoscere e utilizzare le migliori estensioni di Java per i tuoi progetti EE
Visual Studio Code Spring. Come conoscere e utilizzare le migliori estensioni di Java per i tuoi progetti EE
Link copiato negli appunti

Come anticipato, il linguaggio Java è molto usato nel backend delle applicazioni Web. Con esso molte tecnologie ormai considerate cardine dello sviluppo enterprise, parliamo di Spring, lombok, tomcat, etc. Vediamo come.

Tomcat e vari server

Un supporto a tomcat è previsto dall'estensione redhat.vscode-community-server-connector:

estensione tomcat

In realtà il supporto si estende a vari server (Karaf, Liberty, Glassfish, Wildfly etc.), comprende download, war deploy, avvio e stop dei server.

Creazione e download di un server

Una volta installato il server dovrebbe apparire nel file explorer in basso la scritta "Server", espandendo il menù dovrebbe essere mostrato il Community Server Connector:

Pannello community

Cliccando sull'icona in alto a destra è possibile aggiungere un nuovo server, verrà chiesto tramite pop-up se scaricare il server o se utilizzare un'installazione locale.

pop up add server

A questo punto si supponga di voler scaricare il server da zero, il pop-up chiederà quale tipologia di server scaricare:

Seleziona server

Una volta scelto il server viene quindi richiesto di scaricare la licenza:

Scarica licenza server

e quindi di accettarla:

Accettare licenza

A questo punto si può notare un nuovo file aperto nell'editor in attesa di essere salvato, è la licenza scaricata dall'estensione. La scheda può essere chiusa senza salvataggio del file e senza alcun problema.

Cartella dei server

I server vengono scaricati nel percorso .rsp/redhat-community-server-connector/runtimes/installations/ a partire dalla cartella del proprio utente.

Importazione di un server locale

Se si è già in possesso di un server si può invece specificare la sua posizione per utilizzarlo nel Community Server Connector. Si deve quindi cliccare sull'icona per l'aggiunta di un server e indicare l'opzione "No, use server on disk" al primo pop-up.

Apparirà ora il file chooser del sistema operativo e scegliendo la cartella base del server dovrebbe apparire questa schermata nell'editor dei file:

Aggiunta manuale server

Qui sono racchiuse una serie di impostazioni che si possono selezionare e modificare per l'installazione del server, come un il nome da assegnare, il percorso ed eventualmente la base del server se diversa dalla posizione degli eseguibili.

Quando si è sicuri di aver impostato tutto in modo corretto non si deve fare altro che premere "FINISH".

Gestire un server

Per gestire le azioni di un server basta premere il tasto destro su di esso:

Manu contestuale server

Dal menu lo si può quindi avviare (normalmente o in debug), rimuoverlo (non verranno rimossi i server scaricati ma solo le configurazioni), aggiungere un WAR (o direttamente i binari di un progetto) e modificarlo.

Per ogni azione, avremo comunque un log che si apre nella parte bassa del nostro editor:

Log di start del server

Spegnere il Community Server

Si può spegnere l'intero Community Server se si ha la necessità di risparmiare memoria o risorse di calcolo.

Per farlo è necessario cliccare con il tasto destro sul community server, quindi cliccare su "Stop RSP Provider".

Stop community server

Una volta fatto, non si potrà più aggiungere nessun server, né avviarne un altro. Ripetere quindi la procedura per riavviare l'estensione (questa volta vi sarà scritto "Start RSP Provider").

Spring

Per avere il supporto di Spring bisogna innanzitutto installare le estensioni adatte. Quelle consigliate sono:

  • vscjava.vscode-spring-initializr;
  • Pivotal.vscode-spring-boot;
  • vscjava.vscode-spring-boot-dashboard.

Per chi lo desidera esiste un'estensione che si occupa di scaricare tutte le estensioni di Spring, ovvero Pivotal.vscode-boot-dev-pack.

estensione pack per spring

Creare un progetto con Spring Boot

Creare un progetto Spring è molto semplice, la procedura prevede di aprire la palette di comandi (CTRL+Shift+P) e cercare la voce "Spring Create". La scelta proposta è tra l'uso di Gradle e quello di Maven come gestori di progetto.

Crea progetto spring

Supponendo di selezionare Maven, verrà ora chiesto quale versione di Spring Boot utilizzare.

Seleziona versione spring

e quale linguaggio:

seleziona linguaggio

Successivamente viene richiesto di selezionare le informazioni progettuali come il group id:

seleziona groupid

l'arctifact id (o nome del progetto):

inserisci arctifact id

il formato di packaging del progetto:

Formato di packaging

la versione di Java

Selezione versione java

e di selezionare, con un menù a scelta multipla, le dipendenze di Spring che si vogliono includere con Maven:

seleziona dipendenze

E infine, dopo aver selezionato con il file chooser del nostro sistema operativo, il percorso del nostro progetto. Una notifica collocata in basso a destra ci informerà dell'avvenuta creazione:

notifica di avvenuta creazione

Gestione del progetto

A questo punto dovrebbe essere essere apparsa una nuova icona sul pannello laterale di Visual Studio Code, un esagono con il simbolo del Poweron. Esso introduce una nuova sezione interamente dedicata a Spring:

accesso a sezione pannello spring

Cliccando sul nome del progetto dovrebbe abilitarsi la vista nelle sezioni inferiori, che mostrano i beans e gli endpoint:

Endpoint di spring

Avvio del progetto

È ora possibile avviare il progetto passando con il mouse sopra il suo nome (in alto) e selezionando un'icona tra le due che vengono proposte:

Run e debug progetto spring

La prima avvierà il progetto, la seconda abiliterà anche il debug.

Checkstyle

Spesso in un progetto è necessario avere delle linee guida che obblighino gli sviluppatori a seguire uno stile unico che renda leggibile il codice.

Il Checkstyle è un software che si occupa di restituire eventuali errori se non si verificano delle condizioni di "formattazione" del codice. Tutte le informazioni utili al suo impiego sono reperibili nella documentazione ufficiale.

Richiede, oltre che il jar apposito, un file di configurazione che definisca le regole, come ad esempio quello fornito da Google.

L'estensione

L'estensione migliore è sicuramente quella di ShengChen con id shengchen.vscode-checkstyle.

estensione checkstyle

Una volta installata essa deve essere configurata. Consiglio innanzitutto di disabilitare l'estensione per poi abilitarla solo "a progetto" e andare nelle impostazioni (sempre legate al workspace, per comodità) e scrivere:

"java.checkstyle.configuration": "/percorso/a/file/checkstyle.xml",
	"java.checkstyle.version": "versione.checkstyle"

La versione del Checkstyle deve corrispondere a quella del nostro jar (o del pom).

In alternativa si può impostare tutto graficamente: nelle impostazioni cercare "Checkstyle" e quindi modificare "Checkstyle Configuration" inserendo il percorso del file di configurazione e "Checkstyle Version" con la versione.

Impostazioni di checkstyle

Altre estensioni utili

Non è tutto, altre estensioni possono aiutarvi nel vostro quotidiano flusso di lavoro come sviluppatore Java. Eccone alcune scelte tra quelle che reputo più utili.

Decompiler

Il Decompiler permette di visualizzare sorgente compilato come codice in chiaro. Usa il bytecode di Java per tentare di ricostruire il più fedelmente possibile la struttura della classe originaria.

L'estensione da installare ha id dgileadi.java-decompiler, una volta installata si integra direttamente alle estensioni di Java già presenti nel pacchetto standard.

Estensione per decompilare

Si può quindi premere su "Vai a definizione" per vedere come è stata strutturata una classe, cliccando con il tasto destro sul suo nome:

Come aprire classe decompilata

Se il sorgente di quella classe non è disponibile essa verrà decompilata e ricreata a partire dalle informazioni del bytecode. Se la prima riga contiene un commento come il seguente:

// Source code is unavailable, and was generated by the Fernflower decompiler.

Significa che il decompiler lo ha tradotto con successo.

Lombok

Se non si hanno installate le estensioni di Spring normalmente non si ha neanche supporto a Lombok. Per avere il supporto completo meglio installare l'estensione vscjava.vscode-lombok.

Estensione di lombok

L'estensione riconosce che una particolare classe ha set e get li dove son identificate le annotazioni, inoltre si possono generare in maniera automatica anche le annotazioni, utilizzando la command palette (CTRL+SHIFT+p) e scrivendo "lombok":

Generare annotazioni lombok

Ti consigliamo anche