|
| 1 | +Per fare una pulizia massiva di tutte le righe vuote (da `^` a `$`) in un intero documento, dobbiamo aggirare un limite fisiologico di VS Code: il motore nativo non permette di eseguire un *Trova e Sostituisci Tutto* in modo completamente silente tramite una singola scorciatoia, a meno di non usare un'estensione. |
| 2 | + |
| 3 | +Ma visto che ci piace sporcarci le mani e padroneggiare il `keybindings.json`, abbiamo due strade. La prima è 100% nativa e sfrutta proprio le regex che hai citato. |
| 4 | + |
| 5 | +### Opzione 1: Il "Cecchino" Nativo (Regex Pre-armata) |
| 6 | + |
| 7 | +Possiamo creare una combo che apre il pannello di Replace **già pre-compilato** con la regex perfetta e la modalità Regex (`.*`) attivata. A te basterà premerla e dare una singola conferma (`Cmd + Enter`) per piallare tutte le righe. |
| 8 | + |
| 9 | +Apri il tuo `keybindings.json` e aggiungi questo blocco: |
| 10 | + |
| 11 | +```json |
| 12 | + { |
| 13 | + "key": "cmd+alt+backspace", |
| 14 | + "command": "editor.actions.findWithArgs", |
| 15 | + "args": { |
| 16 | + "searchString": "^\\s*$\\n", |
| 17 | + "replaceString": "", |
| 18 | + "isRegex": true |
| 19 | + }, |
| 20 | + "when": "editorTextFocus" |
| 21 | + } |
| 22 | + |
| 23 | +``` |
| 24 | + |
| 25 | +**Come funziona l'innesco:** |
| 26 | + |
| 27 | +1. Premi `Cmd + Option + Backspace` (o cambiala con la combo che preferisci). |
| 28 | +2. VS Code apre il pannello *Trova e Sostituisci*. |
| 29 | +3. La regex `^\s*$\n` viene caricata in automatico. Questa espressione è letale: prende l'inizio della riga (`^`), eventuali spazi o tab invisibili (`\s*`), la fine della riga (`$`) e il ritorno a capo successivo (`\n`). |
| 30 | +4. Tu devi solo premere `Cmd + Enter` (Replace All) e il documento viene ripulito istantaneamente. |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +### Opzione 2: L'Esecuzione Silente (Richiede Estensione) |
| 35 | + |
| 36 | +Se vuoi l'effetto "un solo tasto e sparisce tutto" senza nemmeno vedere il pannello di ricerca comparire, devi appoggiarti a un'estensione leggerissima che fa solo questo. |
| 37 | + |
| 38 | +1. Installa l'estensione **Remove Empty Lines** (id: `saperb.remove-empty-lines`). |
| 39 | +2. Una volta installata, il comando diventa disponibile anche nella Command Palette (`Cmd + Shift + P` -> *Remove Empty Lines*). |
| 40 | +3. Per mapparlo sulla tua combo, aggiungi questo al `keybindings.json`: |
| 41 | + |
| 42 | +```json |
| 43 | + { |
| 44 | + "key": "cmd+alt+backspace", |
| 45 | + "command": "extension.removeEmptyLines", |
| 46 | + "when": "editorTextFocus" |
| 47 | + } |
| 48 | + |
| 49 | +``` |
| 50 | + |
| 51 | +### Nota Extra: La riga singola |
| 52 | + |
| 53 | +Se invece il tuo intento era semplicemente eliminare **la singola riga** (vuota o piena che sia) su cui si trova attualmente il cursore senza doverla selezionare da capo a coda, VS Code ha già la combo nativa cablata di default: ti basta premere `Cmd + Shift + K` (`editor.action.deleteLines`). |
0 commit comments