Affectation d'extensions personnalisées à la coloration syntaxique d'un langage dans Notepad ++

280

Dans la version actuelle de Notepad ++, l’ouverture de fichiers .sql entraîne l’application de la syntaxe SQL par le bloc-notes. J'aimerais que Notepad ++ fasse de même pour les autres extensions, existe-t-il un paramètre permettant de définir ceci?

Sathyajith Bhat
la source
Ça ne l'est pas déjà? Il devrait le faire par défaut.
D'Arvit
2
Il le fait pour les fichiers .sql, pas pour les autres fichiers
Sathyajith Bhat
4
Je souhaite que Notepad ++ se souvienne de la langue sélectionnée dans le menu pour chaque fichier ou offre d'ajouter votre extension au configurateur de style de cette langue lors de la deuxième association de l'extension à une langue.
Matthew Lock
Notez que vous pouvez également modifier les couleurs de la langue de votre extension via le menu Langue / Définir votre langue ....
wip

Réponses:

347

Lorsque vous ouvrez un fichier dans notepad ++, il tente de charger la coloration syntaxique du contenu en fonction de son extension.

Si vous utilisez une extension personnalisée pour l'une des langues existantes, vous pouvez l'ajouter dans Paramètres -> Styler Configurator. Sélectionnez la langue et ajoutez l'extension dans la zone d'édition "Extension de l'utilisateur". Pour ajouter plusieurs extensions, séparez-les avec Space.

Vous devez ensuite rouvrir votre fichier pour voir la coloration syntaxique appliquée.

Vous pouvez également modifier le style de coloration syntaxique en sélectionnant une autre langue dans le menu Langue.

T. Kaltnekar
la source
J'ai essayé ceci, mais il attribue seulement à 1 extension, je veux assigner plusieurs extensions.
Sathyajith Bhat
24
vous pouvez ajouter plusieurs extensions en les séparant par un espace, a ajouté cela dans mon message
T. Kaltnekar le
20
Notez que cette modification n’affectera pas les fichiers actuellement ouverts dans Notepad ++. De plus, la fermeture et la réouverture de Notepad ++ n’affecteront toujours pas les fichiers qui restent ouverts entre les sessions. Les fichiers individuels doivent être fermés et rouverts pour que l’effet soit visible.
mwolfe02
Cette méthode ne fonctionne pas non plus pour les langues définies par l'utilisateur. Pour ceux-ci, voir la réponse ci-dessous, mais au lieu du fichier langs.xml, modifiez le fichier userDefineLang.xml
Chase Sandmann
2
Cette méthode semble fonctionner uniquement à l'ouverture de Notepad ++ en tant qu'administrateur. Voir ce numéro: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 Il semble également que les modifications apportées aux fichiers programme (c'est la raison pour laquelle le problème d'autorisation a été résolu) dans C: \ Program Files (x86) \ Notepad ++ \ themes \ SelectedTheme.xml, ce qui signifie que ce paramètre n'est pas utilisé lorsque vous changez de thème.
Daniel Bogdan
67

Recherchez le fichier langs.xml (généralement sous C: \ Utilisateurs [nom d'utilisateur] \ AppData \ Roaming \ Notepad ++), ouvrez-le avec Notepad ++, recherchez la ligne qui commence par <Language name="sql" ext="sql"et ajoutez les extensions souhaitées dans le champ ext , en les séparant par un espace.

Pour cela, recherchez une langue définie par l'utilisateur: userDefineLang.xml, puis modifiez-la ext="".

Si vous avez installé notepad ++ en mode "portable", langs.xml et userDefineLangs.xml se trouvent directement dans le dossier où se trouve notepad ++.

alex
la source
6
Cette approche fonctionne également bien, mais l'approche de T. Kaltnekar est un peu plus conviviale, merci!
Sathyajith Bhat
C'est la seule façon dont j'ai su comment :).
alex
2
Bien, je préfère cette approche, j'ai beaucoup d'extensions personnalisées et il est plus facile de les copier et les coller de cette façon.
James
2
Cette méthode a fonctionné pour moi. Je ne comprends pas pourquoi l'ajout de l'extension avec l'interface graphique ne fonctionne pas. "C: \ utilisateurs (utilisateur) \ appdata \ roaming \ notepad ++ \ langs.xml"
jimueller le
Je n'ai pas installé Notepadd ++, j'ai juste décompressé, donc le lang.xmlfichier est dans le répertoire de l'application ;-)
Betlista
0

*.nppxmlSi vous utilisez des fichiers de session Notepad ++ (je les ai nommés ), vous pouvez les éditer et changer l' <File lang="...">attribut, par exemple

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

à:

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

pour obtenir une belle *.logsyntaxe par défaut (ou définie par l'utilisateur comme dans mon cas avec des fichiers) immédiatement sans réouvrir chaque fichier, etc.

Andreas Dietrich
la source