7 Stimmen

Notepad++ : Benutzerdefinierte Syntaxhervorhebung für .txt-Dateien

Ich speichere Codebeispiele, die ich für nützlich halte, als Textdateien auf meinem Computer. Ich speichere sie als txt-Dateien im Gegensatz zu der Sprache, in der sie geschrieben sind, so dass sie in Notepad++ anstelle des Editors geöffnet werden (d.h. ich will nicht, dass meine C++-Beispiele in einer IDE geöffnet werden, nur in Notepad).

Gibt es eine Möglichkeit, dass Notepad++ eine entsprechende Syntaxhervorhebung auf die Textdatei anwendet, indem es einen speziellen Code in der Textdatei selbst liest?

Wenn ich zum Beispiel eine Sql-Datei habe, könnte die erste Zeile der Textdatei wie folgt aussehen:

##Language=SQL 

... my sql code properly highlighted as sql ...

Vielen Dank im Voraus. Ich weiß, dass ich die Sprache einfach nach dem Öffnen der Datei auswählen könnte (z. B. Sprache > SQL), aber es wäre viel bequemer, wenn dies automatisch geschehen könnte.

4voto

Maximilian Mayerl Punkte 10839

Nein, das kann sie nicht. Sie können sie manuell auswählen oder spezielle Dateityperweiterungen verwenden, die Sie dann mit Notepad++ verknüpfen und es anweisen, die Dateien in der entsprechenden Sprache zu markieren.

Verwenden Sie zum Beispiel .txtsql-Dateien für SQL, .txtcpp-Dateien für C++ usw.

3voto

jj. Punkte 1870

Ich habe ihn schließlich selbst geschrieben:

  1. Sie benötigen das Python-Plugin

  2. Fügen Sie den folgenden Code in Ihre Datei startup.py ein

  3. Ändern Sie Ihre Python-Initialisierungseinstellung von "LAZY" auf "ATSTARTUP".

    if found determine the menu command and switch language in NPP

    def switch_language_view(args): notepad.activateBufferID(args["bufferID"]) lineone = editor.getLine(0) if '##' in lineone: lineone = lineone[lineone.rfind('##'):].replace('##', '') lineone = "MENUCOMMAND." + lineone.upper() try: notepad.menuCommand( eval(lineone) ) except: pass

    command to link notification

    notepad.callback(switch_language_view, [NOTIFICATION.FILEOPENED])

2voto

Seth Punkte 42154

Ich würde vorschlagen, ihnen die richtigen Dateierweiterungen zu geben und dann etwas wie das hier in die Registrierung zu importieren:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\NotepadPlusPlus]

[HKEY_CLASSES_ROOT\*\shell\NotepadPlusPlus\command]
@="C:\\path\\to\\notepad++.exe \"%1\""

Dann können Sie Ihre Dateien in NP++ mit einem schnellen Rechtsklick öffnen, und NP++ ist in der Lage, die richtige Sprache anhand der Dateierweiterung automatisch zu erkennen.

2voto

Algatz Punkte 21

Die manuelle Auswahl ist eine viel einfachere Methode. Speichern Sie alle Dateien im .txt-Format (unabhängig von Java oder C oder C++). Öffnen Sie die Datei in Notepad++ und wählen Sie die entsprechende Sprache im Menü aus, z. B. Sprache --> Java.

1voto

n611x007 Punkte 8422

Sie könnten es mit einem npp-Skript versuchen,

python

lua

und/oder Makros hacken. Sie könnten das Skript bedingt starten lassen, Ihre spezielle Zeichenfolge überprüfen und die Sprache für Sie auswählen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X