在关闭窗口Sublime Text之前

时间:2015-09-28 14:18:25

标签: sublimetext sublime-text-plugin

在窗口关闭之前是否有一种方法可以检测Sublime Text以添加自定义命令?

我使用此快捷方式运行自定义命令:

[
{ "keys": ["ctrl+shift+w"], "command": "custom_command"},
{ "keys": ["alt+f4"], "command": "custom_command"}
]

但是还有其他方法可以关闭Sublime Text,并且在关闭窗口事件之前应该涵盖所有内容。

2 个答案:

答案 0 :(得分:1)

在视图关闭之前会调用一个事件处理函数。我认为你需要的功能名称是

on_pre_close(view)

Sublime Text 3 API中列出了所有事件处理函数。当窗口关闭时我没有找到一个,但我认为当窗口关闭时,它应该先关闭每个视图,所以使用上面的功能应该可以解决你的问题。以下是API的Event Listeners部分的链接。它应该对你有所帮助。

https://www.sublimetext.com/docs/3/api_reference.html#sublime_plugin.EventListener

如果您不熟悉构建插件, 请注意,要使用事件监听器功能,您需要有一个插件,您可以在其中使用类似

的类
class your_class_name(sublime_plugin.EventListener):
    def on_pre_close(self,view):
        #Your code here

答案 1 :(得分:0)

也许python' s atexit https://docs.python.org/3/library/atexit.html会起作用 (我还没试过 - 有可能python插件API在调用atexit函数时不能完全正常工作)