Je veux exécuter un linter sur mon code source lorsque je sauvegarde un fichier (CTRL-S). Est-il possible d'exécuter une commande externe sur un fichier lorsqu'il est enregistré?
Autant que je sache, au sens le plus strict du terme, il n’existe aucune option directe permettant de lancer un programme directement après la sauvegarde. Cela dit, vous pouvez probablement obtenir un comportement similaire (du point de vue fonctionnel) lorsque vous appuyez sur Ctrl+ Savec les étapes ci-dessous ...
Enregistrer et exécuter avec Ctrl + S
Installer NppExec
Normalement, une macro régulière Notepad ++ associée à un élément du menu Exécuter constituerait probablement le chemin le plus simple vers le comportement souhaité. Toutefois, les commandes du menu Exécuter ne semblent pas être autorisées comme actions de macro par défaut.
Pour contourner ce problème, nous avons besoin d’un plugin appelé NppExec
. Ce plugin nous permet d’écrire des macros (scripts de commande) moyennement améliorés pour l’exécution de programmes à partir de Notepad ++. Cela nous permet notamment de combiner l’enregistrement d’un document et l’exécution d’un programme (ce qui n’est normalement pas possible, comme indiqué).
Pour installer NppExec:
Ouvrez le gestionnaire de plugins ( Plugins → Gestionnaire de plugins → Afficher le gestionnaire de plugins ).
Trouvez NppExec
dans la liste des plugins et marquez le.
Cliquez sur Install
.
Après l’installation, vous devrez redémarrer Notepad ++ comme indiqué.
Créer un script de commande
Une fois que Notepad ++ a été redémarré, ouvrez la fenêtre Plugins → NppExec → Execute ... ( F6). Dans le champ de texte, placez les commandes que vous souhaitez exécuter (dans l'ordre) sur des lignes distinctes:
NPP_SAVE
# ... Another command here ...
# ... Another command here ...
En passant, je ne vois pas très bien ce que vous souhaitez faire avec le fichier (en ce qui concerne votre processus de formation de peluches). Je vous prie de m'excuser que l'exemple ci-dessus ne soit pas plus complet.
Notez que chacun # ... Another command here ...
est simplement un espace réservé pour cet exemple. Fait important, les #
signes ne représentent pas réellement les commentaires dans NppExec ... ceci est juste mon raccourci. =)
Commandes disponibles
Étant donné que nous savons que nous souhaitons sauvegarder en premier, nous pouvons utiliser NPP_SAVE
le script de commande pour le lancer. NPP_SAVE
est une NppExec
commande spécifique qui demande à Notepad ++ d’enregistrer le document actuel.
En général, pour les commandes restantes, vous invoquerez probablement ces commandes directement (en supposant qu’il s’agit de NppExec
commandes ou d’éléments enregistrés sur la ligne de commande, dont la sortie importe peu), ou vous utiliserez par exemple NPP_RUN cmd /k somecommand.exe
(ou d’autres variantes sur NPP_RUN cmd
) pour générer une nouvelle cmd
fenêtre (qui peut souvent être préférable).
Tout ce qui peut être exécuté à partir de la ligne de commande (y compris les fichiers de commandes et les scripts) constitue probablement une option viable pour vos commandes. Les variables d'environnement Notepad ++ sont également disponibles. Le plus courant que vous êtes susceptible d’utiliser est $(FULL_CURRENT_PATH)
(mieux référencé avec des guillemets "$(FULL_CURRENT_PATH)"
), qui donne le chemin complet de Windows vers la version enregistrée de votre document actuel.
Il convient de noter que, comme Run
dans la boîte de dialogue normale Exécuter ... , OK
la fenêtre Exécuter ... exécutera immédiatement vos commandes. Cela vous permet de tester leurs fonctionnalités avant de les enregistrer. De même, le Command(s)
champ est persistant entre les exécutions.
Une fois que vous êtes satisfait du script de commande, vous devez choisir Save...
, attribuer un nom approprié au script et le sélectionner à Save
nouveau pour le conserver pour une utilisation ultérieure. Fermez la fenêtre Exécuter ... lorsque vous avez terminé.
Ajout du script de commande à un menu
Nous pouvons maintenant ajouter notre NppExec
script de commande à un menu Notepad ++ afin qu’on lui attribue un raccourci:
Aller à Plugins → NppExec → Options avancées ... .
Sélectionnez le script de commande dans le Associated script:
menu déroulant en bas à gauche.
Cliquez Add/Modify
pour l'ajouter au Menu items
champ juste au-dessus.
Si vous le souhaitez, cochez la case en regard de Place to the Macros submenu
pour ajouter le script de commande au menu principal Macro . Sinon, il apparaîtra comme une option sous Plugins → NppExec .
Cliquez OK
pour finir.
Redémarrez Notepad ++ comme indiqué et vérifiez que le script de commande apparaît maintenant en tant qu'entrée de menu au bas du menu Macro ou de Plugins → NppExec .
Ajout de raccourcis au script de commande
Enfin, pour réaffecter Ctrl+ S:
Ouvrez Paramètres → Raccourci Mapper ... .
Dans l' onglet du menu principal , mettez en surbrillance l'entrée pour "Enregistrer". Cliquez Clear
au bas de la fenêtre pour effacer les paramètres de raccourci clavier pour cet élément ( Ctrl+ S).
Sélectionnez l' onglet Commandes du plug- in. Faites défiler la liste et mettez en surbrillance l'entrée de votre NppExec
script de commande (identifiée par son nom). Ce sera probablement le dernier élément du bloc pour les NppExec.dll
entrées.
Cliquez sur Modify
et définissez les options de raccourci clavier appropriées (marquez Ctrl
et choisissez S
dans le menu déroulant).
Cliquez OK
pour enregistrer les nouveaux paramètres de raccourci et Close
le Mapper raccourci ... .
Votre script de commande devrait maintenant être déclenché par Ctrl+ S(aucun redémarrage nécessaire).
Notez que, quelle que soit la combinaison de raccourcis clavier que vous affectez, la version normale de Save
sera toujours associée à l'élément de menu Fichier → Enregistrer et à l'icône de la barre d'outils (la seule disquette bleue).