L'écriture d'un plugin simple pour Sublime Text 2

Un exemple du réel, de la pratique de l'ingénierie. Traduire le texte sélectionné dans un certain nombre de décimales à la notation hexadécimale. La fonction devrait être disponible à partir du menu principal et le contexte, ainsi que par une combinaison de touches Ctrl + Maj + H. Résultat d'exécution: le nombre enregistré à Hexham en utilisant des nombres et des lettres majuscules sans caractères principaux comme «0x». Si le texte sélectionné est pas un numéro - jure avec une barre d'état. J'attire votre attention que l'exemple a l'intention est simplifiée au maximum, donc pour plus de détails pas perdu l'essence de la simplicité créer des plug-ins pour Sublime.
Rédaction d'un plug-in
Nous pressons Outils -> Nouveau Plugin ... et de voir un blanc. Changer le nom de la classe et écrire fonctionnalité dans la méthode run. Je suis ce qui suit:
importer sublime, sublime_plugin classe DecToHexCommand (sublime_plugin.TextCommand): MAX_STR_LEN = 10 def run (self, edit): v = self.view # Obtenir la valeur du premier bloc sélectionné dec = v.substr (V.SEL () [0]) # Remplacer la virgule ou un message d'erreur hexadécimal est affiché si dec.isdigit (): v.replace (edit, V.SEL () [0], hex (int (dec)) [2:]. supérieur ()) d'autre: # Lignes longues rognées qui ne rentrent pas dans la barre d'état si len (déc)> self.MAX_STR_LEN: logmsg = décembre [0: self.MAX_STR_LEN] + "..." d'autre: logmsg = décembre sublime.status_message ( "\" "+ logmsg +" \ "est pas un nombre décimal!")
Envoyer à offrir où l' éditeur nommé dec_to_hex.py
Ajout d'éléments de menu. Prescrit le raccourci clavier.
Commençons par "touches".
Hit le menu Préférences -> Key Bindings-utilisateur. Ouvre le fichier de configuration au format JSON. Les chances sont vides. Ajoutant à sa ligne.
{ "Keys": [ "Ctrl + Maj + h"], "commande": "dec_to_hex"}
Enregistrer. Tout. Le principe est déjà possible d'utiliser. Si vous ne travaillez pas la peine de voir qu'à cette occasion, il est écrit dans konsolki (Ctrl + `).
Pour ajouter un élément dans le menu contextuel créer le fichier Context.sublime-menu comme suit:
[ { "Command": "dec_to_hex" } ]
Je pense que, comme dans le cas précédent, tout est clair, sans commentaire.
Garder dans le même répertoire où vous avez enregistré le bouchon.
Ie % USERPROFILE% \ AppData \ Roaming \ Sublime Text 2 \ Packages \ utilisateur, pour les utilisateurs Windows. Il crée Main.sublime-men fichier u. Je sentais que ce point sera approprié à tous dans le menu Edition, donc le fichier Main.sublime-menu, écrit ce qui suit:
[ { "Id": "modifier", "Enfants": [ { "Command": "dec_to_hex"} ] } ]
Vérifiez. Dans les éléments du menu principal et le contexte à apparaître avec le nom de décembre Pour Hex
références:
www.sublimetext.com/docs/api-reference - Plugin API Reference
www.sublimetext.com/download - Télécharger
www.sublimetext.com/dev - la Builds Dev. J'utilise la version de dev, les bugs ne sont pas encore pris.
net.tutsplus.com/tutorials/python-tutorials/how-to-create-a-sublime-text-2-plugin/ - Un article sur le même sujet en anglais
Commentaires
Commentant, gardez à l' esprit que le contenu et le ton de vos messages peuvent blesser les sentiments des gens réels, montrer du respect et de la tolérance à ses interlocuteurs, même si vous ne partagez pas leur avis, votre comportement en termes de liberté d'expression et de l' anonymat offert par Internet, est en train de changer non seulement virtuel, mais dans le monde réel. Tous les commentaires sont cachés à l'index, le contrôle anti - spam.