Site icon Tosolini.info

Visual Studio Code, quello che non ti aspetti.

Insomma, senti parlare di Visual Studio della Microsoft e la correlazione con dot Net o C# è praticamente immediata. Poi ti accorgi che è possibile installarlo su Windows, Mac e Linux… Mac e Linux?! e il primo pensiero “ma hanno portato le librerie dot Net sul pinguino?“. La risposta è no, non hanno proprio utilizzato le loro librerie proprietarie, ma hanno utilizzato un approccio completamente diverso sposando la filosofia di un editor che avevamo già visionato a suo tempo, ovvero Atom. Si tratta di una versione di Chromium (si il browser) che attraverso l’utilizzo di node.js ha permesso di realizzare un editor davvero interessante utilizzando solo Javascript, CSS3 e HTML5. Una seconda parte (diciamo nascosta) è gestita da Electron che di fatto permette di dialogare a seconda dei casi con il sistema operativo utilizzato. Visual Studio Code è gratuito e di fatto non sostituisce i prodotti che fino ad oggi abbiamo conosciuto, ma è proprio un ramo nuovo.

In sostanza è un diretto competitor di Atom, e sono pressoché sovrapponibili, anche nella possibilità di visionare il codice visto che entrambi sono Open Source (la licenza resta proprietaria). Ma Visual Studio Code ha già pronte all’uso moltissime funzioni che nel concorrente occorre “cercare” e che comunque sono plugin di terze parti. Anche qui come il “cugino” permette l’utilizzo di estensioni che nel giro di breve tempo si sono moltiplicate. Queste possono essere visionate e scaricate (nella maggioranza dei casi gratuitamente) dal marketplace.

Perché scegliere Visual Studio Code?.

Innanzitutto è molto stabile, non ho riscontrato crash, l’installazione delle estensioni (che generalmente a differenza di Atom richiedono un riavvio del programma) non compromettono la stabilità. Ha un client Git integrato migliore (a mio avviso) di quello di Atom, che permette di visionare le varie differenze tra le versioni, oltre che tutti i classici comandi di Git. E’ possibile anche attivare una sorta di sincronizzazione automatica. Personalmente trovo un ottimo sistema per non dimenticarsi di fare un push a fine giornata nei sistemi dove devi ricordarti di farlo da linea di comando o con il client esterno. Inoltre le modifiche sono ben segnalate nella barra laterale (sinistra) dove un numeretto ci avvisa che ci sono N modifiche pending da mandare al server di versionamento.

Dispone di un sistema di Debug piuttosto raffinato, per cui è possibile scegliere vari setup (la maggior parte già pronti) dipendentemente da cosa stiamo codificando da cui lanciare l’applicativo. A tale scopo verrà creata una cartella .vscode con il json relativo all’interno della cartella di progetto. In caso di errore saremo portati automaticamente sul punto esatto del codice dove il debugger ha trovato il malfunzionamento. Ovviamente tale funzionalità è presente anche in altri sistemi, ma qui è totalmente integrata nel sistema.

E’ disponibile anche una finestra di terminale dentro l’editor medesimo, nel caso si necessiti di dover effettuare comandi o visionare qualche particolare via linea di comando.

La scrittura del codice ovviamente è identata e colorata a dovere, è comunque possibile scegliere o personalizzare questi aspetti, anche attraverso extension. E’ presente l’auto completamento, anche questo personalizzabile. La parte interessante è la scelta, in base ad un processo proprietario di Microsoft che si chiama Intellisense, di mostrare in base alla tipologia di codice tutte le variabili, funzioni e classi utilizzate in un dato progetto.

Non secondario, ma dipende dai gusti personali, la presenza di una minimap laterale, che permette di avere la visualizzazione rapida sulla posizione di eventuali variabili o funzioni, selezionabili con un doppio click su di esse, all’interno del codice. Molto utile ad esempio quando si legge una definizione di funzione, evidenziandola avremo subito visivamente il richiamo nel resto del codice.

Esiste poi per i maggiori linguaggi, una serie di personalizzazioni, ad esempio nel CSS i colori vengono riconosciuti, vicino ad essi sarà presente un piccolo quadrato con il colore scelto, se ci clicchiamo sopra apparirà la palette colori dove è possibile variarla in tempo reale.

Le opzioni e le possibilità ovviamente non sono tutte qui, c’è tutto un ecosistema di funzionalità che non cito per non fare un papiro biblico. Il programma è in grado di auto aggiornarsi all’uscita di nuove versioni, così come per le estensioni, per cui non dovremo preoccuparci di questo aspetto ma focalizzarci esclusivamente su quello che dobbiamo realizzare.

Probabilmente la parte negativa, se così si può dire, è il sistema delle impostazioni, che a primo acchito lascia perplessi. Non è la classica interfaccia visuale dove possiamo scegliere tra le varie opzioni, ma un vero e proprio listato di codice. Il codice di fatto non è modificabile, ma può essere “sovrapposto” con del codice personalizzato il quale ha la priorità su quello di default. Tale codice è di fatto scritto in automatico, e a noi non resta solo che dare la modifica, letteralmente scrivendola, alle varie opzioni. Come detto inizialmente questa cosa lascia perplessi, anche perché non è decisamente “user friendly“. In seconda battuta però si intuisce come sia possibile letteralmente aggirare / creare molto di più che non la classica scelta di true / false.

Essendo il programma una sorta di sommatoria tecnologica e non scritto nativamente per il sistema operativo, significa che una certa pesantezza è intrinseca nel suo funzionamento. Ovvero su un computer relativamente recente e con 8 giga di RAM in su non avremo certo problemi, con macchine più datate la situazione potrebbe essere più frustrante.

In conclusione ho trovato una piacevole sorpresa questo Editor gratuito della Microsoft. Personalmente l’ho trovato persino migliore del già ottimo Atom di Github. E’ incredibile come certi strumenti oggi siano tanto potenti, quanto accessibili, rispetto al passato dove solo un quarto di quanto qui offerto era disponibile pagando cifre non certo irrisorie.

Scaricabile presso: https://code.visualstudio.com/

Exit mobile version