Schreiben ein einfaches Plugin für Sublime Text 2
Ein Beispiel für den real, aus der Ingenieurpraxis. Übersetzen ausgewählten Text in einer Anzahl von Dezimal in Hexadezimal-Schreibweise. Die Funktion sollte aus dem Hauptmenü und dem Kontext, sowie durch eine Kombination von Tasten Strg + Umschalt + H. verfügbar sein Execution Ergebnis: Die aufgezeichneten Zahl in Hexham Zahlen und Großbuchstaben verwenden, ohne führende Zeichen wie «0x». Wenn der ausgewählte Text ist keine Zahl - schwöre es mit einer Statusleiste. Ich mache Sie darauf, dass das Beispiel beabsichtigt, die maximale vereinfacht, so dass für Details nicht das Wesen der Einfachheit erstellen Plug-Ins für Sublime verloren.
Das Schreiben eines Plugins
Wir drücken Extras -> New Plugin ... und ein leeres zu sehen. Ändern Sie den Namen der Klasse und schreiben Funktionalität im Ablauf. Ich habe die folgenden:
importieren erhaben, sublime_plugin Klasse DecToHexCommand (sublime_plugin.TextCommand): MAX_STR_LEN = 10 def run (self, bearbeiten): v = self.view #, Um den Wert des ersten ausgewählten Block holen dez = v.substr (V.SEL () [0]) # Ersetzen Sie die Dezimal oder Hexadezimal-Fehlermeldung angezeigt wenn dec.isdigit (): v.replace (edit, V.SEL () [0], hex (int (DEC)) [2:]. obere ()) sonst: # Geerntete lange Linien, die nicht passen in der Statusleiste if len (Dezember)> self.MAX_STR_LEN: logmsg = Dezember [0: self.MAX_STR_LEN] + "..." sonst: logmsg = Dezember sublime.status_message ( "\" "+ logmsg +" \ "ist nicht eine Dezimalzahl!")
Speichern zu bieten , wo Editor namens dec_to_hex.py
Hinzufügen von Menüpunkten. Verschreibt der Tastenkombination.
Lassen Sie uns mit "Hot-Keys" beginnen.
Schlagen Sie die Menü - Einstellungen -> Key Bindings-Benutzer. Öffnet die Konfigurationsdatei im JSON-Format. Die Chancen stehen leer. Zusätzlich zu seiner Linie.
{ "Keys": [ "Strg + Shift + h"], "Befehl": "dec_to_hex"}
Speichern. Alles. Prinzip ist bereits möglich, zu verwenden. Wenn Sie es nicht wert arbeiten dass das Sehen bei dieser Gelegenheit ist es in konsolki (Ctrl + `) geschrieben.
So fügen Sie ein Element in das Kontextmenü Context.sublime-Menü Datei zu erstellen , wie folgt:
[ { "Befehl": "dec_to_hex" } ]
Ich denke, dass, wie im vorherigen Fall, alles ohne Kommentar klar.
Halten Sie in das Verzeichnis, in dem Sie den Stecker gespeichert.
dh % USERPROFILE% \ AppData \ Roaming \ Sublime Text 2 \ Packages \ User, für Windows - Benutzer. Es erstellen Main.sublime-Männer u - Datei. Ich fühlte, dass dieses Element, um alle im Menü Bearbeiten auf angemessen sein wird, so Main.sublime-Menü Datei, schrieb folgendes:
[ { "Id": "bearbeiten", "Kinder": [ { "Befehl": "dec_to_hex"} ] } ]
Prüfen. In den Haupt- und Kontextmenü - Einträge mit dem Namen Dezember To Hex erscheinen
Referenzen:
www.sublimetext.com/docs/api-reference - das Plugin die API der Referenz
www.sublimetext.com/download - Herunterladen
www.sublimetext.com/dev - die Baut die Dev. Ich dev Version verwenden, haben die Fehler noch nicht gefangen.
net.tutsplus.com/tutorials/python-tutorials/how-to-create-a-sublime-text-2-plugin/ - Ein Artikel zum gleichen Thema in Englisch
Kommentare
im Auge kommentierte halten , dass der Inhalt und der Ton Ihrer Nachrichten , die Gefühle von echten Menschen verletzen können, Respekt und Toleranz gegenüber seinen Gesprächspartnern, auch wenn Sie Ihr Verhalten in Bezug auf die Meinungsfreiheit und die Anonymität des Internets, ändert ihre Meinung nicht teilen, nicht nur virtuell, sondern realen Welt. Alle Kommentare werden aus dem Index, Spam - Kontrolle versteckt.