Spezielle Befehle für Notepad ++ mit NppExec erstellen

8788
Assad Ebrahim

Notepad ++ verfügt über eine integrierte Zeitstempel-Funktion, bei der Sie zwischen kurzen und langen Formaten wählen können. Beide verwenden jedoch das integrierte Datumsformat des Computers, auf dem sie sich befinden, und zeigen entweder den Monat zuerst (wenn USA) oder den Tag zuerst (Wenn UK / Europa).

Ich arbeite sowohl in den USA als auch in Europa, und das ständige Wechseln des Monats und des Tages wird ein wenig beunruhigend, insbesondere beim Durchsehen von Protokollen oder Notizen.

Ich frage mich, ob es einen einfachen Weg gibt - entweder durch eine vorhandene Einrichtung oder über ein Makro -, um einen ebenso schnellen Zeitstempel zu generieren, der jedoch das internationale Format aufweist:

YYYY-MM-DD--DAY--HH:MM

(Den TAG der Woche zu haben, ist ein schönes Extra und vermeidet, dass Sie später nachschlagen müssen, wenn Sie die Datensätze später überprüfen.)

Beispiel:

2012-08-19--Sun--20:30

Edit: Warum diese Wahl des Formats? Kein strikter Grund. Die ideale Lösung in Notepad ++ wäre vorzugsweise flexibel genug, um ein ansprechendes Format zu erzeugen.

8
Was sind die Striche zwischen DD & DAY und DAY & HH? Louis vor 11 Jahren 0
Die doppelten Striche - sollen das Datum vom Tag ab dem Zeitpunkt visuell absetzen. Scheint ästhetisch angenehmer als `2012-08-19-So-20: 30`. (Der Zeitstempel soll eine einzelne Zeicheneinheit sein, daher keine Leerzeichen ...). Habe die Frage entsprechend bearbeitet. Assad Ebrahim vor 11 Jahren 0
Nachdem Sie Notepad ++ aufgrund der sofort einsatzbereiten und leistungsstarken Funktionen über die Jahre hinweg sehr viel Programmierarbeit geleistet haben, haben Sie keine Ahnung, wie oft ich in der Lage war, sie mit einer Skriptsprache von der GUI aus zu verbinden. Vielen Dank für das Posten! Ben Richards vor 11 Jahren 1

1 Antwort auf die Frage

6
Assad Ebrahim

Richtig, ich habe mit dem NppExec-Plugin und Ruby einen Weg gefunden.

Lösung:

Vorgehensweise : Rufen Sie eine externe Skriptsprache (in diesem Fall Ruby) ab, um den formatierten Zeitstempel zurückzugeben und von NppExec für den Empfang zu erhalten und an der Cursorposition in der in Notepad ++ angezeigten aktuellen Datei einzufügen.

Konfigurieren Sie zuerst die Konsole:

 npe_console v+ // set console to receive output in $(OUTPUT) variable npe_console d+ // set current working directory to same as current file 

Geben Sie dann im Menübefehl NppExec> Ausführen den folgenden Ausschnitt ein:

 // Diary snippet (Generates timestamp YYYY-MM-DD--DAY--HH:MM for NPP++) npp_console disable // turn console off for silent operation // ruby one-liner does the work ruby -r Date -e "dt=DateTime.now; dname = Date::ABBR_DAYNAMES[dt.wday]; puts dt.strftime(\"%Y-%m-%d--#--%H:%M\");" sel_settext $(OUTPUT) // put result at cursor in current file npp_console enable // restore console back to default 

Dies verwendet das Ruby-Modul zum Generieren des Zeitstempels und fügt es dort ein, wo sich der Cursor in der aktuellen Datei in Notepad ++ befindet. Das Ergebnis (mit einer Verzögerung von etwa 500 ms) ist der Zeitstempel:

 2012-08-20--Mon--20:16 

Hinweis: Dies macht zwar die Aufgabe, wenn jemand eine Lösung hat, die nicht auf etwas Externes angewiesen ist (in diesem Fall Ruby), wäre das besser.


Edit: "Produzieren" der Lösung ... (Robustheit und Komfort)

Durch Befolgen der folgenden Schritte kann die obige Lösung hergestellt werden ...

Eine Hürde ist, dass das Schließen von Notepad ++ die Konsolenkonfiguration verliert, so dass dies bei jedem Neustart eingerichtet werden muss.

Daher richten wir die Konsolenkonfiguration als Skript ein, das bei jedem Start von Notepad ++ automatisch ausgeführt wird.

Ordnen Sie dann dem Diary-Skript zur Vereinfachung eine Tastenkombination (Hotkey) zu.

Schritt 1: Geben Sie den Tagebuchcode in ein Dialogfeld "NppExec Excute ..." ein: Plugins > NppExec > Execute...Geben Sie ihm einen Namen (den Namen werden Sie später verwenden).

Step 1 - Enter diary code

Schritt 2: Geben Sie den Konfigurationscode setup_console ähnlich ein:

Step 2 - Enter console configuration code

Die Schritte 3, 4, 5: In Plugins > NppExec > Advanced Options, setzt setup_console beim Start (3) auszuführen, erstellen Sie einen Menüpunkt für den Tagebuch - Code (4), und setzen Sie den Menüpunkt in das MacroMenü (5):

Steps 3,4,5 - Getting it all setup

Schritt 6: Legen Sie einen Tastaturbefehl (Shortcut) für das Tagebuchskript fest:, Settings > Shortcut Mapper... > Pluginsund scrollen Sie nach unten, bis Sie den Namen des Tagebuchskripts finden, den Sie verwendet haben.

Step 6 - Keyboard shortcut

Ergebnis: Wenn Sie unter dem MacrosMenübefehl suchen, wird Ihr neuer Timestamp-Befehl mit Tastenkombination angezeigt.

Result - done

Erledigt!