web-dev-qa-db-fra.com

Gérer les extraits de code dans Notepad ++

Existe-t-il un moyen de gérer les extraits de code avec sauvegarde de la base de données et surlignage de code dans Notepad ++?

39
MohamedKadri

Cette réponse ne concerne pas spécifiquement la manière de gérer les extraits de code n ++, mais cela pourrait être une bonne alternative, car il semble que le plug-in ne fonctionne pas très bien. J'ai trouvé une solution très flexible à l'échelle du système qui consiste à utiliser AHK . Vous pouvez ensuite obtenir des fonctionnalités similaires à des extraits de code, et bien plus encore, en personnalisant les raccourcis clavier et le développement du texte.

Par exemple, un script AHK à une ligne tel que ce :*:123::123456789 développera automatiquement la saisie de "123" en "123456789", quel que soit votre éditeur actuel (np ++ ou VS, peu importe). Pour limiter ceci à des applications spécifiques, ajoutez simplement une autre ligne comme celle-ci #IfWinActive, ahk_exe devenv.exe ( Exemple complet ici ).

Pour en savoir plus sur AHK


Simple script AHK pour gérer les extraits de code


Je viens de créer une solution simple pour gérer une base de données CodeSnippet. Un peu plus de travail et cela pourrait être beaucoup plus glissant.

Ce qu'il fait

Fournit une liste d'extraits de code affichée en appuyant sur Ctrl + Alt + S. Double-cliquez sur un extrait de code et celui-ci sera collé dans votre application. Les extraits sont simplement une liste de fichiers et le contenu du fichier fournit le code à l'extrait.

Comment le configurer

1.) Nécessite un dossier nommé "CodeSnippets" dans votre répertoire MyDocuments. Créez vos fichiers d'extrait de code dans ce dossier.

2.) Utilisez AHK pour exécuter le script suivant. Pour "définir et oublier", le script doit être exécuté au démarrage de Windows. À partir de n’importe quelle application de Windows, appuyez sur Ctrl + Alt + S pour sélectionner un extrait de code.

#NoEnv

HotKey, ^!s, ShowList
return

ShowList:
Gui, Add, ListView, r20 w300 gMyListView, Name
Loop, %A_MyDocuments%\CodeSnippets\*.*
    LV_Add("", A_LoopFileName)

Gui, Show
return

MyListView:
if A_GuiEvent = DoubleClick
{
    LV_GetText(RowText, A_EventInfo)
    FileRead, Snippet, %A_MyDocuments%\CodeSnippets\%RowText%
    Clipboard := Snippet
    Gui, Destroy
    Send ^v
}
return

GuiClose:
Gui, Destroy
return
0
u8it

Il y a aussi FingerText. Il a installé et a fonctionné correctement à partir du nouvel administrateur Plugins de NPP. Si vous essayez, vous devriez probablement aller à Plugins | FingerText | Installez le paquet d'extraits par défaut pour obtenir un ensemble d'extraits par défaut. C'est le millésime 2012, mais ça fonctionne toujours. Il développe les extraits via la touche <TAB>, à la manière de TextMate, par défaut. Il comporte des macros d'extension, telles que $[![(key)DATE:yyyy/MM/dd]!] représente la date du jour pour son extrait de date d'insertion. Si vous insérez par exemple un hyperlien, il met en surbrillance la partie de texte; il remplacera donc son espace réservé pour le texte lorsque vous commencerez à taper, puis vous pourrez appuyer sur <TAB> et l’espace réservé à l’URL sera mis en surbrillance. Cela rappelle également la façon dont Emmet est censé fonctionner. Vous pouvez bien sûr ajouter de nouveaux extraits et éditer des extraits.

Sa plus grande erreur est peut-être de ne pas diviser les extraits en catégories; de sorte que vous obtenez une longue liste pour vos extraits. Les extraits sont toutefois conscients des extensions de fichier. Il ne semble pas avoir d'auto-complétion. La documentation se trouve dans son répertoire {NPP}\plugins\FingerText, dans "README.rdoc".

Il s'agit évidemment d'un projet win32 et ne nécessiterait donc pas .NET 3.5. Le développeur indique qu'il est en phase alpha; mais il semble raisonnablement stable et semble plus mature qu'un stade alpha, à mon humble avis. Il est open source, et disponible auprès de GitHub à l’adresse " erinata/FingerText: plug-in d’extrait déclenché par une tabulation pour Notepad ++ ". Je suppose que si vous voulez une version x64, vous devrez la compiler vous-même. mais il y a un projet Visual Studio.

0
CodeLurker