Zuweisen von benutzerdefinierten Erweiterungen zur Hervorhebung der Syntax einer Sprache in Notepad ++

280

In der aktuellen Version von Notepad ++ führt das Öffnen von .sql-Dateien dazu, dass Notepad die SQL-Syntax hervorhebt. Ich möchte, dass Notepad ++ dasselbe auch für andere Erweiterungen ausführt. Gibt es eine Einstellung, in der ich dies definieren kann?

Sathyajith Bhat
quelle
Ist es nicht schon so? Dies sollte standardmäßig geschehen.
D'Arvit,
2
Dies gilt für .sql-Dateien, nicht für andere Dateien
Sathyajith Bhat
4
Ich wünschte, Notepad ++ würde sich nur an die Sprache erinnern, die aus dem Menü für jede Datei ausgewählt wurde, oder es würde angeboten, Ihre Erweiterung zum Stilkonfigurator dieser Sprache hinzuzufügen, wenn Sie die Erweiterung zum zweiten Mal einer Sprache zuordnen.
Matthew Lock
Beachten Sie, dass Sie die Sprachfarben Ihrer Erweiterung auch über das Menü Sprache / Sprache definieren ... ändern können .
wip
1
Mögliches Duplikat von Wie kann ich Notepad ++
anweisen

Antworten:

347

Wenn Sie eine Datei in Editor ++ öffnen, wird versucht, die Syntaxhervorhebung für den Inhalt basierend auf der Dateierweiterung zu laden.

Wenn Sie eine benutzerdefinierte Erweiterung für eine der vorhandenen Sprachen verwenden, können Sie die benutzerdefinierte Erweiterung unter Einstellungen -> Styler-Konfigurator hinzufügen. Wählen Sie die Sprache aus und fügen Sie die Erweiterung im Bearbeitungsfeld "Benutzererweiterung" hinzu. Um mehrere Nebenstellen hinzuzufügen, trennen Sie diese mit Space.

Anschließend müssen Sie Ihre Datei erneut öffnen, damit die Syntaxhervorhebung angewendet wird.

Sie können den Syntaxhervorhebungsstil auch ändern, indem Sie im Sprachmenü eine andere Sprache auswählen.

T. Kaltnekar
quelle
Ich habe es versucht, aber es wird nur 1 Nebenstelle zugewiesen. Ich möchte mehrere Nebenstellen zuweisen.
Sathyajith Bhat
24
Sie können mehrere Erweiterungen hinzufügen, indem Sie sie durch ein Leerzeichen
trennen. Dies haben Sie
20
Beachten Sie, dass diese Änderung keine Dateien betrifft, die derzeit in Notepad ++ geöffnet sind. Das Schließen und erneute Öffnen von Notepad ++ hat weiterhin keine Auswirkungen auf Dateien, die zwischen Sitzungen geöffnet bleiben. Die einzelnen Dateien müssen geschlossen und erneut geöffnet werden, damit der Effekt angezeigt wird.
mwolfe02
Diese Methode funktioniert auch nicht für benutzerdefinierte Sprachen. Für diese siehe die Antwort unten, aber anstelle der langs.xml, bearbeiten Sie die userDefineLang.xml
Chase Sandmann
2
Diese Methode scheint nur zu funktionieren, wenn Sie Notepad ++ als Administrator öffnen. Siehe diese Ausgabe: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 Außerdem scheinen die Änderungen in den Programmdateien (aus diesem Grund das Berechtigungsproblem) in C: \ Program Files (x86) \ bestehen zu bleiben. Notepad ++ \ themes \ SelectedTheme.xml, was bedeutet, dass diese Einstellung nicht verwendet wird, wenn Sie zwischen Themen wechseln.
Daniel Bogdan
67

Suchen Sie die Datei langs.xml (normalerweise unter C: \ Users [Benutzername] \ AppData \ Roaming \ Notepad ++), öffnen Sie sie mit Notepad ++, suchen Sie die Zeile, die mit beginnt, <Language name="sql" ext="sql"und fügen Sie die gewünschten Erweiterungen in das Feld ext ein. Trennen Sie sie durch ein Platz.

Suchen Sie dazu für eine benutzerdefinierte Sprache nach userDefineLang.xml und bearbeiten Sie sie ext="".

Wenn Sie notepad ++ im "portable" -Modus installiert haben, befinden sich die Dateien langs.xml und userDefineLangs.xml direkt in dem Ordner, in dem sich notepad ++ befindet.

Alex
quelle
6
Dieser Ansatz funktioniert auch gut, aber T. Kaltnekars Ansatz ist ein bisschen benutzerfreundlicher, danke!
Sathyajith Bhat
Nur so wusste ich wie :).
alex
2
Schön, ich bevorzuge diesen Ansatz, ich habe viele benutzerdefinierte Erweiterungen und es ist einfacher, sie auf diese Weise zu kopieren und einzufügen.
James
2
Diese Methode hat bei mir funktioniert. Ich verstehe nicht, warum das Hinzufügen der Erweiterung mit der GUI nicht funktioniert. "C: \ users (user) \ appdata \ roaming \ notepad ++ \ langs.xml"
jimueller 18.07.12
Ich habe Notepadd ++ nicht installiert, nur entpackt, daher befindet sich die lang.xmlDatei im Anwendungsverzeichnis
;-)
0

Wenn einer Notepad ++ - Sitzungsdateien verwendet (ich habe sie genannt *.nppxml), können Sie sie bearbeiten und das <File lang="...">Attribut ändern , z

<File ... lang="Normal Text" ... filename="httpd.conf"
<File ... lang="Normal Text" ... filename="some.log"

zu:

<File ... lang="Powershell" ... filename="httpd.conf"
<File ... lang="log" ... filename="some.log"

um eine schöne Standard- *.logSyntax (oder eine benutzerdefinierte Syntax wie in meinem Fall für Dateien) zu erhalten, die sofort hervorgehoben wird, ohne jede einzelne Datei erneut zu öffnen usw.

Andreas Dietrich
quelle