Far ricordare a Notepad ++ una lingua particolare per un determinato file?


10

Ho un numero di file che vorrei colorati in modi diversi anche se hanno la stessa estensione. Ad esempio, ho alcuni file * .config che sono in realtà file Python e alcuni che sono file XML. Quando li apro devo cambiare manualmente la lingua in Python o XML.

Sarebbe bello se, ad esempio, Notepad ++ ricordasse che c: \ foo \ bar \ whatevs.config dovrebbe usare lo stile Python, ma c: \ hey \ ho \ boo.config dovrebbe usare lo stile XML.

In qualche modo in Notepad ++ dire "ricordare la lingua che è stata utilizzata l'ultima volta che il file è stato aperto"? Un plugin forse?


Stai riscontrando problemi da qualche parte utilizzando le estensioni di file corrette?
iglvzx,

1
Ho un'app Python che utilizza file .config che sono in realtà file Python e .NET utilizza file .config che sono in realtà file XML. Come altro esempio, ho dei file di markdown che usano l'estensione .txt perché si sincronizzano con un'app Android che non capisce cosa sono i file .md.
mhenry1384,

Vedo. Ricorda la lingua impostata quando chiudi Notepad ++ con il file aperto, quindi riapri Notepad ++?
iglvzx,

2
In realtà lo fa, se hai selezionato "Ricorda la sessione corrente per il prossimo lancio" (cosa che non faccio). Ma lo dimentica quando chiudi il file e lo riapri.
mhenry1384,

Risposte:


12

Esiste un'opzione della GUI per impostare un collegamento statico tra l'estensione del file e la lingua (invece di modificare manualmente il %APPDATA% langs.xmlfile o il %PROGRAMFILES% langs.model.xmlfile come suggerito da @ jakub.g):

Se vai su Impostazioni -> Style Configurator -> seleziona la lingua a sinistra, nella parte inferiore dello schermo vengono visualizzate due caselle di testo:

Configuratore di stile

In questo esempio, ho aggiunto "config" alla User ext.casella di testo, quindi ogni volta che apro un file con estensione .config, l'evidenziazione della sintassi XML verrà automaticamente selezionata nel menu Lingua.

So che questo non risolve il problema di ricordare l'evidenziazione della sintassi da applicare a un singolo file specifico, ma è un modo semplice per impostare l'evidenziazione per tutte le estensioni di file.

Se vuoi ricordare la selezione di evidenziazione della sintassi per un singolo file, credo che l'unica opzione sia selezionare la casella di controllo: Impostazioni -> Preferenze -> MISC -> Ricorda la sessione corrente per il prossimo lancio.


non lo salva però. una volta chiuso e riaperto notepad ++, le modifiche sono sparite.
rwwt

@ r3wt Credo che dovresti run as administratoraltrimenti non avrà le autorizzazioni per salvare le preferenze nel tuo profilo utente.
Wweicker,

Questo non funzionerà con le estensioni di file integrate. Devi rimuovere manualmente l'estensione dalla parte ext della lingua nel file langs.xml. Tale file può risiedere in% APPDATA% / Notepad ++ o nella directory di installazione di Notepad ++ o nel tuo archivio cloud, ad esempio DropBox, OneDrive o GoogleDrive se hai le Impostazioni nell'opzione Cloud abilitata.
Ian Stanway,

Funziona con lingue personalizzate? Non riesco a trovare il mio da nessuna parte nell'elenco.
Fabian Röling,

1

Questo non è proprio quello che stai chiedendo, ma si applica al tuo commento riguardante i file .txt come file Markdown. Un'opzione possibile è impostare Markdown come lingua per tutti i file .txt.

Ciò presuppone che markdown_npp sia installato. Modificare i seguenti file a proprio rischio (eseguire copie di backup prima di modificare questi file):

  • Apri langs.xml da% appdata% \ Notepad ++
    • Rimuovi l' estensione txt dalla lingua normale:
      • Prima: <Language name="normal" ext="txt" />
      • Dopo: <Language name="normal" ext="" />
  • Apri userDefineLang.xml da% appdata% \ Notepad ++
    • Aggiungi l' estensione txt al linguaggio Markdown:
      • Prima: <UserLang name="Markdown" ext="md">
      • Dopo: <UserLang name="Markdown" ext="md txt">
  • Riavvia Notepad ++

ha funzionato per me ed è stato l'unico modo per ottenere notepad ++ per memorizzare in modo permanente la relazione. grazie
rwwt

0

Per aggiungere una connessione fissa tra estensione e lingua, apri la cartella NPP (es. C:\Program hFiles\Notepad++), Ci sono diversi file XML lì. Modificali (non ricordo esattamente quale langs.xmlo langs.model.xml).

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

Trova la lingua desiderata e aggiungi l'estensione.

Tuttavia, non so come variare la stessa estensione per cartella.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.