Successivo

News

Editing verticale con Visual Studio

Michele Costabile | 24 Settembre 2010

Visual Studio non ha la geometrica ortogonalità  di funzioni e l’abbondanza di strumenti di Eclipse, ma è un cavallo di […]

Visual Studio non ha la geometrica ortogonalità  di funzioni e l’abbondanza di strumenti di Eclipse, ma è un cavallo di battaglia inevitabile nello sviluppo su Windows. Ha anche delle funzioni di sorprendente potenza, come quella che presentiamo.

Parliamo di editing verticale, in mancanza di un termine più adatto, per descrivere una forma di cambiamento che interessa il testo per colonne, non come è abituale rimanendo all’interno delle righe. Si tratta di una funzione che è presente in Visual Studio da diverse versioni, anche se è di uso sufficientemente avanzato da pensare che non sia usata quotidianamente da molti.

proviamo a pensare a un caso come quello del codice qui sotto.

Alt-select-0

I giorni sono rappresentati alzando un bit in una maschera di bit. Con questa rappresentazione risparmiamo spazio, anche se forse si tratta di un vezzo dei tempi dei 640 Kbyte di memoria. Diventa anche facile rappresentare un insieme di giorni qualsiasi mettendo in or le maschere corrispondenti.

Ci è scappato però un vezzo da programmatore Java, definire i nostri interi statici non è la cosa migliore per evidenziare che sono costanti, conviene piuttosto usare la keyword const. Per risparmiare tempo, possiamo lavorare su tutte le righe interessante in un colpo solo.

Facciamo un clic all’inizio della colonna di static tenendo premuto il tasto Alt spostando il mouse all’angolo opposto possiamo selezionare un rettangolo di testo.

Alt-select-1

Scrivendo la parola const, modifichiamo un insieme di righe consecutive con grande semplicità .

Alt-select-2

La selezione verticale può anche essere di larghezza zero, basta selezionare un rettangolo e poi stringere la selezione fino a zero. Visual Studio indica con una sottile linea azzurra la presenza della selezione.

Una selezione di larghezza zero a inizio riga è quello che ci vuole, per esempio per comporre del codice Sql, dopo avere copiato una complessa istruzione Sql formattata su più righe.

UPDATE LIBRI
SET TITOLO = 'XX'
AUTORE = 'XX'
DATA PUBBLICAZIONE = 'XX'
...

Inseriamo una selezione di larghezza zero all’inizio e scriviamo la colonna di .Append(” che compone la nostra istruzione in uno StringBuilder, come segue.

var sb = new StringBuilder();
sb.Append("UPDATE LIBRI
sb.Append("SET TITOLO = 'XX'
sb.Append("AUTORE = 'XX'
sb.Append("DATA PUBBLICAZIONE = 'XX'
...

Adesso basta solo una ricerca e sostituzione di stringhe, abilitando le espressioni regolari sostituendo il fine linea, il $, con “) e la missione è compiuta con il minimo didigitazioni e errori.