我有这个代码
import sublime, sublime_plugin
class EventDump(sublime_plugin.EventListener):
def onLoad(self, edit):
print "dffdffdfffdfddfff"
print view.fileName(), "just got loaded"
def onPreSave(self, edit):
print self.view.fileName(), "is about to be saved"
def onPostSave(self, edit):
print self.view.fileName(), "just got saved"
def onNew(self, edit):
print "dfdfdfdfdfdff"
print "new file"
def onModified(self, edit):
print view.fileName(), "modified"
def onActivated(self, view):
print view.fileName(), "is now the active view"
def onClose(self, view):
print view.fileName(), "is no more"
def onClone(self, view):
print view.fileName(), "just got cloned"
我从这个页面得到它,它的代码有点过时了——但是我把它从sublimeplugin修改为 sublime_plugin 所以它没有过时,使它编译(我的意思是保存和加载!)没有错误。我还做了一两个其他调整(比如我看到的“编辑”在那里更错误)。我的版本加载没有错误。
但我不能让它发挥..
我希望这样当我执行 file..new 时,文本会打印到控制台。从而表明事件正在被触发。但它没有这样做。
我想要 sublime 何时启动和文件何时打开的事件。
最终我想将文件名写入文件。但我无法得到任何指示,任何打印到控制台的东西,表明事件已被触发。
此外,如果有某种 msgbox 会很棒,以防控制台不在视图中,但这是一个可以帮助我看到事件被触发的副产品
鉴于马特的回复,现在更新很好 - 基于马特的回复和 ST2 文档,我现在已经更新了我的代码,所以每个函数都是这样的。加载它时没有错误,并且触发了事件,并且正在打印文件名。所以,完成!
def on_post_save(self, view):
print "done on_post_save"
print "filename is: "+str(view.file_name())
def on_new(self, view):
print "done on_new"
print "filename is: "+str(view.file_name())