54 votes

Ajout d'un langage défini par l'utilisateur dans Notepad++.

J'essaie d'ajouter le plugin syntaxique pour le langage de programmation Go dans Notepad++.

Il y a un référentiel pour de tels défini par l'utilisateur langues. J'ai téléchargé et décompressé les fichiers Go, qui contenaient un README, un userDefinedLang_Go.xml y go.xml .

J'ai essayé de suivre les instructions suivantes au bas de la page. Comme j'utilise Windows 7 (x64), mon répertoire Notepad++ est " C:\Program Fichiers (x86) \Notepad ++".

N'ayant jamais installé de langage défini par l'utilisateur auparavant, je n'ai pas eu de userDefinedLang.xml déjà, donc j'ai copié userDefinedLang_Go.xml dans le répertoire Root, et l'a renommé pour enlever le "_Go", le rendant ainsi userDefinedLang.xml .

J'ai ensuite copié go.xml en C:\Program Fichiers (x86) \Notepad ++ \plugins\APIs\

Cela semble être toutes les étapes nécessaires. Cependant, lorsque j'ouvre Notepad++, il n'y a pas de "Go" près de " Lang => Défini par l'utilisateur "et il n'y a pas de coloration syntaxique sur un fichier de type .aller dossier. La tentative d'importation via " View => User-Defined Dialogue => import " donne une erreur "fail to import".

Qu'est-ce que je fais de mal ? J'utilise une installation propre de Notepad++, qui est la version 6.1.8.

1 votes

Même problème, la réponse n'arrange rien.

0 votes

La fonctionnalité "import" peut essayer de s'installer dans le dossier d'installation qui peut ne pas être accessible en écriture à votre compte d'utilisateur normal. Vous pouvez essayer de démarrer notepad++ en tant qu'administrateur, puis d'importer.

0 votes

Sauvegarder Go.xml et les autres xml en encodage ANSI. J'avais le même problème de "fail to import". L'enregistrement des fichiers xml en ANSI a fait l'affaire.

56voto

jblaufuss Points 149

J'ai dû mettre mon userDefineLang.xml dans mon AppData\Roaming dossier :

C:\Users\[user]\AppData\Roaming\Notepad++

6 votes

Merci, ça a marché pour moi. J'ai également modifié les couleurs pour qu'elles soient similaires aux valeurs par défaut utilisées par Visual Studio. Je l'ai mis ici au cas où quelqu'un d'autre en aurait besoin : Fichier syntaxique Notepad++ pour golang - avec couleurs VS

7 votes

Vous pourriez également utiliser %APPDATA% \Notepad ++ comme raccourci.

0 votes

Le lien vers le référentiel notepad++ est modifié en ce sens : npp-user-manual.org/docs/user-defined-language-system (en anglais)

17voto

anon Points 51

Nouvelle installation de Notepad++ 6.4.5 sur Windows 7 64 bit

Télécharger à partir du site Notepad++ :

http://docs.notepad-plus-plus.org/index.php?title=User_Defined_Language_Files#G

Copiez "go.xml" dans C:\Program Files (x86)\Notepad++\plugins\APIs .

L'installation par défaut ne comporte pas de langues définies par l'utilisateur, ce qui vous permet de le faire :

  • Copiez "userDefineLang_Go.xml" vers C:\Users\\AppData\Roaming\Notepad ++
  • Enlevez le "_Go" du nom du fichier, donc c'est "userDefineLang.xml".
  • Décommentez les balises d'ouverture et de fermeture "NotepadPlus".

(Si vous avez déjà un userDefineLang.xml, ajoutez le contenu du fichier _Go).

Redémarrez Notepad++.

6 votes

Ainsi, la seule chose manquante dans le processus décrit dans la question est de décommenter l'élément <NotepadPlus> tags ? Une indication à ce sujet serait très utile.

0 votes

Je n'ai pas ce répertoire, seulement App , Data , Other , XMLplugin . J'ai mis le fichier userDefineLang.xml dans ce dernier, sans commentaire, mais cela n'a pas fonctionné.

0 votes

Je dois préciser que j'utilise Notepad++ portable et que j'ai également essayé Notepad++/App/Notepad++/plugins/APIs . Des idées ?

8voto

David Points 1524

Je viens de le faire fonctionner sur mon système après quelques bricolages. Mettez ceci en haut de la page userDefinedLang.xml et le fichier go.xml fichier :

<?xml version="1.0" encoding="Windows-1252" ?>

Cela devrait faire l'affaire (après avoir rouvert Notepad++).

go.xml doit se trouver dans le dossier plugins/APIs et userDefinedLang.xml va dans la racine de Notepad++ comme vous l'avez dit.

2 votes

Cela ne semble pas fonctionner pour moi. Est-il possible que j'aie un numéro d'encodage différent ? Quand vous dites en haut, vous voulez dire littéralement la première ligne, ou cela devrait être après <NotepadPlus> ou <UserLang name="go" ext="go">.

0 votes

C'est la langue définie par l'utilisateur (je l'ai accidentellement nommée userDefineLang). pastebin.com/A4WA7bZc C'est le go.xml - pastebin.com/Cq0SL47g Voyez si cela fonctionne. N'oubliez pas que vous devez fermer Notepad++ et le rouvrir pour que cela fonctionne.

1 votes

@user1695784 pour moi le truc était d'ouvrir le userDefineLang.xml dans Notepad++ et de mettre <NotepadPlus> au début et </NotepadPlus> à la fin. Mais n'oubliez pas d'indenter le contenu entre les balises d'un cran. (Sélectionnez tout ce qui se trouve entre les deux et appuyez sur la touche tabulation). Redémarrez Notepad et importez-le à nouveau.

4voto

enderland Points 3624

Quelque chose dont les autres réponses ne parlent pas : Certaines anciennes versions de Notepad++ font no semble fonctionner avec l'une de ces réponses.

J'ai essayé à peu près toutes les solutions avant de mettre à niveau Notepad++ vers la version 6.4.2.

xkcd 979

Versions de Notepad++ testées :

  • 5.9 - ne fonctionne pas - testé par namey
  • 6.4.2 - en fonctionnement - testé par Elysian Fields
  • 6.6.9 - fonctionnel - testé par namey

Pour les autres versions, votre kilométrage peut varier.

0 votes

@Kissaki Je peux supprimer cette réponse si vous le préférez. Faites-moi savoir si vous pensez qu'elle n'apporte aucune valeur ajoutée. J'ai supposé qu'étant donné qu'aucune des réponses existantes ne résolvait mon problème (une version trop ancienne de Notepad++), cette réponse pourrait profiter à d'autres. Si vous ne le pensez pas, je la supprimerai !

2 votes

On peut dire que c'est utile. N'hésitez pas à le garder. Mais elle serait beaucoup plus utile si elle était plus précise quant aux limites - avec quelles versions elle ne fonctionne pas. Je ne suis pas sûr que ce soit utile comme ça, mais ne prenez pas un seul commentaire (le mien, sans upvotes) comme base pour le supprimer déjà. :)

1 votes

C'était utile pour moi - j'étais toujours coincé avec la version 5.9 et rien de ce qui précède ne fonctionnait. La mise à jour vers la dernière version (6.6.9 maintenant) a résolu le problème immédiatement.

3voto

Dam Points 21

Je partage la solution que j'ai trouvée pour Notepad++ 6.5, car j'ai eu le même problème que les messages précédents.

  1. Si ce n'est pas fait, effectuez les étapes d'installation expliquées dans go \misc\notepadplus\README (userDefineLang.xml, functionList.xml, APIs). Si vous n'avez pas useDefineLang.xml dans Notepad++, créez-en un en utilisant le fichier de go. \misc\notepadplus\useDefineLang.xml mais n'oubliez pas d'ajouter la première ligne. <?xml version="1.0" encoding="Windows-1252" ?> et décommentez la partie NotepadPlus pour avoir <NotepadPlus> au début et </NotepadPlus> à la fin.

  2. Changement dans functionList.xml : <association ext=".go" id="go"/> PAR <association userDefinedLangName="go" id="go"/>

  3. Comme je n'avais pas de fichier userDefineLang.xml par défaut dans Notepad++, j'ai importé ce fichier en utilisant le menu LangueDéfinissez votre langue → *Importation. Puis arrêtez/démarrez Notepad++. Vérifiez que Go se trouve dans le répertoire Langue à la fin de la liste. Ouvrez un fichier .go. Si la couleur ne change pas automatiquement, cliquez sur go dans le menu /Language.

Après cela, tout allait bien pour moi (indentation, couleur, autocomplétion, etc.).

0 votes

Upvoted juste parce que cela m'a aidé à résoudre le problème de suppression de Notepad++. userDefineLang.xml à chaque fois que j'ai fermé. En définissant un fichier .vm en langage Velocity, il a semblé comprendre qu'il devait conserver le fichier XML.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X