Created on 28 Nov 2018 ;    Modified on 20 May 2019 ;    Translationenglish

Notepad++: aggiungere una macro per inserire data e ora corrente nel testo

Inserire data e ora corrente in un file di testo può essere una operazione frequente, sopratutto se si vuole documentare la manutenzione di un programma. Il file editor Notepad++ non ha questa funzionalità embedded. Vediamo come aggiungerla scrivendo una semplice macro ... ovviamente in Python :-).

Cosa ci serve?

Oltre l'editor Notepad++, dobbiamo avere il plugin Python Script.


EDIT, 2019-05-20. ATTENZIONE: le seguenti istruzioni sono valide per notepad++ ver.7.5. Se utilizzate la ver.7.6 e successive, seguite queste istruzioni e passate al capitolo successivo: cosa dobbiamo fare?.


Se non è già presente nella nostra installazione di Notepad++, lo si carica facilmente utilizzando il Plugin Manager. Selezionare da menù Plugin > Plugin manager > Show Plugin manager > Available, quindi spuntare la voce Python script e premere il pulsante install.

plugin manager

Rispondere di sì alle successive richieste di autorizzazione per permettere l'installazione del software.

Cosa dobbiamo fare?

Ora creiamo la macro con Python, selezionando da menù Plugin > Python Script > New Script

new script

Questo comando ci apre una finestra di dialogo in cui mettiamo il nome del file, nel mio caso l'ho chiamato addDatetime.py.

Nella successiva finestra (vuota) di editing scriviamo il seguente codice:

import time

editor.addText(time.strftime( '%Y-%m-%d %H:%M:%S' ))

Come di intuisce, la riga editor.addText ... aggiunge il testo della time.strftime ... nella posizione corrente del file in editing.

Salvare il test e provarlo eseguendo la voce di menù Plugin > Python Script > Scripts > addDatetime. Se è tutto ok comparirà la data e l'ora corrente nel file in fase di editing. Se abbiamo sbagliato qualcosa, apriamo la console Python, in cui avremmo eventuali errori, come ad esempio nella seguente immagine:

error_example

Nella parte bassa dell'immagine osserviamo la Python Console, aperta selezionando la voce di menù Plugin > Python Script > Show Console. In essa le righe rosse indicano gli errori avvenuti in esecuzione dello script [1].

Configurare un tasto funzione

Per eseguire facilmente la nostra nuova macro, è il caso di configurare Notepad++ per poterla lanciare con un tasto funzione.

Per fare ciò, registriamo la macro con la voce di menù Plugin > Python Script > Configuration negli User Scripts selezionare il nostro script, e col pulsante add aggiungerlo a Menu, quindi OK.

register macro

Riavviare Notepad++, selezionare la voce di menù Configurazione > Tasti di scelta rapida > Comandi Plugin, cercare la nostra macro, eventualmente con l'ausilio del filtro, ed assegnarla al tasto voluto. Ad es. ctrl+F5

configure function key

Conclusioni

Con questo lavoro di pochi minuti, saremo in grado di inserire data e ora corrente in un qualunque file di testo.

Per chi ha la curiosità di sapere dov'è il file che contiene la macro, bene, nel mio sistema è in C:\Users\user\AppData\Roaming\Notepad++\plugins\config\PythonScript\scripts\addDatetime.py dove user è il nome dell'utente.


[1]Nel caso in figura, l'errore è la s minuscola finale nella stringa '%Y-%m-%d %H:%M:%s': deve essere una maiuscola!