在Sublime Text 2中难以使事件正常工作

巴洛普

我有这个代码

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时,文本将打印到控制台。从而表明该事件正在被触发。但这不是那样。
我想要有关何时启动升华和何时打开文件的事件。

最终,我想将文件名写入文件。但是我无法获得任何指示,也没有任何东西打印到控制台上,表明该事件已被触发。

另外,如果有某种msgbox很好,以防万一控制台不可见,但这是一个附带的东西,可以帮助我查看事件正在被触发

鉴于Matt的回复,现在可以进行UPDATE罚款-根据Matt的回复和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()) 
马特莫

请查看Sublime Text 2 API文档,特别是有关的部分sublime_plugin.EventListener您所指向的链接指向ST1 API。如果您有兴趣使用使用Python 3.3的ST3,只需2将URL中的更改为即可3

尽管ST3的更改(至少以我的经验)没有像1-> 2那样完全破坏性,但ST2和ST3中的Python API都发生了重大变化。在你的情况下,方法名称已更改为on_load()on_new()on_pre_save(),等。

最后,请确保您正在定义方法,如下所示:

def on_modified(self, view): # <- note change from "edit"  
    print view.fileName(), "modified"

edit不应该在那里,因为我们在这里处理视图。有关更多的指针和解释,参考书的“插件”部分以及主要文档中的内容将对您有所帮助。但是,我发现最好的学习方法是分解并分析其他有效的插件-程序包控制绝对是您的朋友。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

卸载Sublime Text 2

来自分类Dev

Sublime Text中的SQLPLUS

来自分类Dev

Sublime Text中的SQLPLUS

来自分类Dev

Sublime Text 3中的Qt构建系统无法正常工作

来自分类Dev

Sublime Text 3中的Qt构建系统无法正常工作

来自分类常见问题

Sublime Text 2多行编辑

来自分类Dev

如何更新Sublime Text 2?

来自分类Dev

Sublime Text 2构建系统

来自分类Dev

如何更新Sublime Text 2?

来自分类Dev

Sublime Text 2 Terminal插件

来自分类Dev

Sublime Text 3中的索引

来自分类Dev

在Sublime Text中模拟警报

来自分类Dev

Sublime Text中的白色文本

来自分类Dev

Sublime Text中的自动完成

来自分类Dev

在Sublime Text中模拟警报

来自分类Dev

在Sublime Text中管理GitHub

来自分类Dev

Sublime Text 2:如何在Ubuntu的不同工作区中打开新的Sublime Text窗口?

来自分类Dev

Sublime Text 2中的多行CoffeeScript REPL

来自分类Dev

在Sublime Text 2中解包文本

来自分类Dev

Sublime Text 2 + SublimeREPL中的键绑定

来自分类Dev

替换为Sublime Text 2中的列表

来自分类Dev

Sublime Text 2中的多行CoffeeScript REPL

来自分类Dev

Sublime Text 2中的Mac键绑定

来自分类Dev

与Sublime Text 2中的CTRL + D相反

来自分类Dev

在Sublime Text 2中运行IPython Notebook

来自分类Dev

挂钩“ Sublime Text已完成加载”事件

来自分类Dev

Sublime Text 3 php-fmt无法正常工作

来自分类Dev

Sublime Text Package Control搜索无法正常工作

来自分类Dev

Sublime Text Package Control搜索无法正常工作