Il mio editor preferito è Notepad ++. Ha funzionalità macro, ma per quanto possa pensare, non vedo come posso usarlo per qualsiasi cosa.
Utilizzi macro nell'editor che hanno semplificato il tuo lavoro? (per uso generale intendo)
Non so su Notepad ++, ma uso le macro in Emacs per fare praticamente qualsiasi tipo di attività ripetuta facilmente. Queste attività possono essere in realtà abbastanza complicate.
Un esempio recente è questo: avevo un file CSV da un database e volevo convertirlo in JSON usando un modello uniforme. Sembrava qualcosa del genere (non ricordo esattamente esattamente ):
10, 85, 0.1345, Hostname1, Intel, Xeon
9, 74, 0.21453, Hostname2, Intel, Xeon
...
Avevo bisogno di convertirlo in qualcosa tipo:
[{"a" : 10, "b" : 85, "c" : 0.1345, "hostname" : "Hostname1", "cpu" : "Intel", model: "Xeon"},
...
L'uso di una sorta di script per farlo avrebbe richiesto troppo tempo, quindi tutto ciò che ho fatto è stato convertire manualmente la prima riga durante la registrazione dei miei tasti e poi riprodurli sul resto del file. Ha funzionato molto bene - mentre il tempo di esecuzione era lento, ci voleva solo meno di un minuto di il mio tempo, che è molto importante per un'attività straordinaria!
Praticamente qualsiasi tipo di manipolazione ripetuta come questa è un ottimo caso d'uso per una macro di tastiera. Mi sono sicuramente risparmiato un sacco di tempo grazie alle macro di Emacs!
Poiché hai chiesto informazioni sull'utilizzo relativo alla programmazione e altre due risposte sono correlate alla manipolazione dei dati, un esempio che viene in mente è quello di cambiare lo stile di codifica.
Ad esempio, spesso compaiono dichiarazioni di switch
come questa nel codice C #:
switch (value)
{
case "Hello": ret = 5; break;
case "World": ret = 4.9; break;
case "Something other": ret = -19.99; break;
// Fifteen other cases.
default: ret = string.Empty; break;
}
Pur essendo IMO, più leggibili, non sono conformi al set di regole StyleCop predefinito. Per renderli conformi, devi inserire una dichiarazione per riga e, ad esempio, aggiungere this
se ret
non è una variabile, ma un campo privato. Senza l'automazione, sarebbe ingombrante farlo a mano.
switch (value)
{
case "Hello":
this.ret = 5;
break;
case "World":
this.ret = 4.9;
break;
case "Something other":
this.ret = -19.99;
break;
// Fifteen other cases.
default:
this.ret = string.Empty;
break;
}
Li uso per la pre-formattazione di SQL. Ad esempio, ho una macro che circonderà una linea con virgolette singole e quindi inserirò una virgola alla fine. Quando incollo 50-100 ID posso applicare la macro alla fine del file, quindi copiare e incollare il risultato in una query. Questo è utile anche per scopi non SQL.
Ho alcune macro simili che trasformano una singola riga in un'istruzione INSERT per tabelle specifiche. Rende la creazione di script INSERT molto più semplice.
Gran parte dei miei macro implicano la formattazione dell'inizio o della fine della linea in qualche modo, e di solito per i dati, non per il codice vero e proprio. I dettagli delle attività quotidiane determineranno se c'è qualcosa di semplice e ripetitivo da trasformare in una macro. Sono andato per lunghi periodi su progetti in cui semplicemente non c'erano molti compiti degni di macro di editor.
Leggi altre domande sui tag text-editor macros