Erinnern Sie Notepad ++ an eine bestimmte Sprache für eine bestimmte Datei?


10

Ich habe eine Reihe von Dateien, die ich gerne unterschiedlich gefärbt hätte, obwohl sie dieselbe Erweiterung haben. Zum Beispiel habe ich einige * .config-Dateien, die tatsächlich Python-Dateien sind, und einige, die XML-Dateien sind. Wenn ich sie öffne, muss ich die Sprache manuell in Python oder XML ändern.

Es wäre schön, wenn sich Notepad ++ beispielsweise daran erinnern würde, dass c: \ foo \ bar \ whatevs.config das Python-Styling verwenden sollte, c: \ hey \ ho \ boo.config jedoch das XML-Styling.

Gibt es in Notepad ++ eine Möglichkeit zu sagen: "Erinnern Sie sich an die Sprache, die beim letzten Öffnen der Datei verwendet wurde?" Ein Plugin vielleicht?


Stoßen Sie irgendwo auf Probleme, wenn Sie die richtigen Dateierweiterungen verwenden?
iglvzx

1
Ich habe eine Python-App, die .config-Dateien verwendet, die wirklich Python-Dateien sind, und .NET verwendet .config-Dateien, die wirklich XML-Dateien sind. Als weiteres Beispiel habe ich Markdown-Dateien, die die Erweiterung .txt verwenden, da sie mit einer Android-App synchronisiert werden, die nicht versteht, was .md-Dateien sind.
Mhenry1384

Aha. Erinnert es sich an die Sprache, die Sie festgelegt haben, wenn Sie Notepad ++ bei geöffneter Datei schließen und dann Notepad ++ erneut öffnen?
iglvzx

2
Tatsächlich ist dies der Fall, wenn Sie "Aktuelle Sitzung für nächsten Start speichern" aktiviert haben (was ich nicht tue). Aber es vergisst es, wenn Sie die Datei schließen und erneut öffnen.
mhenry1384

Antworten:


12

Es gibt eine GUI-Option zum Einrichten einer statischen Verknüpfung zwischen Dateierweiterung und Sprache (anstatt die %APPDATA% langs.xmlDatei oder %PROGRAMFILES% langs.model.xmlDatei manuell zu bearbeiten, wie von @ jakub.g vorgeschlagen):

Wenn Sie zu Einstellungen -> Stilkonfigurator -> wählen Sie links die Sprache aus, werden am unteren Bildschirmrand zwei Textfelder angezeigt:

Stilkonfigurator

In diesem Beispiel habe ich dem User ext.Textfeld "config" hinzugefügt, sodass bei jedem Öffnen einer Datei mit der Dateierweiterung .config die Hervorhebung der XML-Syntax automatisch im Menü Sprache ausgewählt wird.

Ich weiß, dass dies nicht das Problem löst, sich zu merken, welche Syntaxhervorhebung auf eine einzelne bestimmte Datei angewendet werden soll, aber es ist eine einfache Möglichkeit, die Hervorhebung für alle Dateierweiterungen einzurichten.

Wenn Sie sich an die Auswahl der Syntaxhervorhebung für eine einzelne Datei erinnern möchten, besteht meines Erachtens die einzige Option darin, das Kontrollkästchen zu aktivieren: Einstellungen -> Einstellungen -> MISC -> Aktuelle Sitzung für den nächsten Start speichern.


es speichert es jedoch nicht. Sobald Sie Notepad ++ schließen und erneut öffnen, sind die Änderungen weg.
r3wt

@ r3wt Ich glaube, Sie müssen, run as administratorsonst hat es keine Berechtigungen, um die Einstellungen in Ihrem Benutzerprofil zu speichern.
Wweicker

Dies funktioniert nicht für integrierte Dateierweiterungen. Sie müssen die Erweiterung manuell aus dem ext-Teil der Sprache in der Datei langs.xml entfernen. Diese Datei kann sich in% APPDATA% / Notepad ++ oder im Notepad ++ - Installationsverzeichnis oder in Ihrem Cloud-Speicher befinden, dh DropBox, OneDrive oder GoogleDrive, wenn Sie die Option Einstellungen in der Cloud aktiviert haben.
Ian Stanway

Funktioniert dies für benutzerdefinierte Sprachen? Ich kann meine nirgendwo in der Liste finden.
Fabian Röling

1

Dies ist nicht ganz das, wonach Sie fragen, gilt jedoch für Ihren Kommentar zu TXT-Dateien als Markdown-Dateien. Eine mögliche Option besteht darin, Markdown als Sprache für alle TXT-Dateien festzulegen.

Dies setzt voraus, dass markdown_npp installiert ist. Bearbeiten Sie die folgenden Dateien auf eigenes Risiko (erstellen Sie Sicherungskopien, bevor Sie diese Dateien bearbeiten):

  • Öffnen Sie langs.xml unter% appdata% \ Notepad ++
    • Entfernen Sie die txt- Erweiterung aus der normalen Sprache:
      • Vor: <Language name="normal" ext="txt" />
      • Nach: <Language name="normal" ext="" />
  • Öffnen Sie userDefineLang.xml unter% appdata% \ Notepad ++
    • Fügen Sie der Markdown-Sprache die Erweiterung txt hinzu :
      • Vor: <UserLang name="Markdown" ext="md">
      • Nach: <UserLang name="Markdown" ext="md txt">
  • Starten Sie Notepad ++ neu

arbeitete für mich und es war die einzige Möglichkeit, Notepad ++ zu bekommen, um die Beziehung dauerhaft zu speichern. danke
r3wt

0

Um eine feste Verbindung zwischen Erweiterung und Sprache hinzuzufügen, öffnen Sie den NPP-Ordner (z. B. C:\Program hFiles\Notepad++). Dort befinden sich mehrere XML-Dateien. Bearbeiten Sie sie (ich erinnere mich nicht genau, langs.xmloder langs.model.xml).

Beispiel: <Language name="cpp" ext="h hpp hxx cpp cxx cc">

Suchen Sie die gewünschte Sprache und fügen Sie die Erweiterung hinzu.

Ich weiß jedoch nicht, wie ich die gleiche Erweiterung pro Ordner variieren lassen kann.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.