Ich habe an einem Sublime Text 3 Plugin gearbeitet, das einige Programmierstandards bei der Arbeit behebt (Dass ich eine schlechte Angewohnheit habe zu fehlen) Ich habe dies zur Zeit mit einem Befehl ausgeführt die Konsole. Most of the code was originally from this thread.Sublime Text 3 Plugin wechseln zu on_pre_save
import sublime, sublime_plugin
class ReplaceCommand(sublime_plugin.TextCommand):
def run(self, edit):
#for each selected region
region = sublime.Region(0, self.view.size())
#if there is slected text
if not region.empty():
#get the selected region
s = self.view.substr(region)
#perform the replacements
s = s.replace('){', ') {')
s = s.replace('}else', '} else')
s = s.replace('else{', 'else {')
#send the updated string back to the selection
self.view.replace(edit, region, s)
Dann brauchen Sie nur auszuführen:
view.run_command('replace')
Und es wird die Coding-Standards anwenden (es gibt mehr plane ich jetzt implementieren, aber ich werde mit diesen Stick) Ich möchte Dies wird beim Speichern ausgeführt.
Ich habe versucht, nur Lauf (selbst, bearbeiten) zu on_pre_save (selbst, bearbeiten), aber es funktioniert nicht. Ich bekomme keine Syntaxfehler, aber es funktioniert einfach nicht.
Kann mir jemand sagen, wie man diesen Befehl auf Speichern ausführen, anstatt den Befehl ausführen zu müssen?
Ich habe das buchstäblich herausgefunden, bevor ich dieses lol sah. Ich hatte bereits ein TabsToSpaces/SpacesToTabs-Plugin geschrieben, das einen Befehl ausgeführt hat. Dann setze ich 2 und 2 zusammen. – Snowdrama