首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >on_load方法不像预期的那样工作

on_load方法不像预期的那样工作
EN

Stack Overflow用户
提问于 2017-03-30 17:49:01
回答 1查看 107关注 0票数 3

下面是对on_load方法的简单测试。

代码语言:javascript
复制
import sublime_plugin

class OnLoadTest(sublime_plugin.EventListener):
    def on_load(self, view):
        print("Tested")

如果我打开某个文件,然后关闭这个文件(Ctrl),然后重新打开它(T),插件可以正常工作。

但是,如果我打开某个文件,然后关闭编辑器,然后重新打开编辑器,插件就不会启动。(尽管如此,由于我首选项中的"hot_exit": true"remember_open_files": true,文件还是成功地重新打开了)。

是因为有问题还是因为我缺乏技能?

我使用ST3,构建3126。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-30 18:21:18

多年来,无论这是一个bug还是一个有意识的设计决策,争论不休都是众所周知的。

从上一次会话还原时,所有打开的文件都会返回到它们所处的状态,其中包括选定的文本、未保存的更改、修改的设置等。崇高启动和执行这些任务之前,或在它积极加载插件代码,以使启动尽可能快。

如果on_load正在做一些您需要在恢复的会话返回时再次执行的操作,您可以通过定义模块级plugin_loaded()函数来检测插件何时被加载,一旦加载所有内容,崇高将调用该函数。在它中,你可以扫描所有的窗口和文件,并采取一些行动。

例如:

代码语言:javascript
复制
import sublime
import sublime_plugin
import os

def plugin_loaded ():
    # Show project in all views of all windows
    for window in sublime.windows ():
        for view in window.views ():
            show_project (view)

def show_project(view):
    # Sometimes a view is not associated with a window
    if view.window() is None:
        return

    # Is there a project file defined?
    project_file = view.window ().project_file_name ()
    if project_file is not None:
        # Get the project filename without path or extension
        project_name = os.path.splitext (os.path.basename (project_file))[0]
        view.set_status ("00ProjectName", "[" + project_name + "]")

# Display the current project name in the status bar
class ProjectInStatusbar(sublime_plugin.EventListener):
    # When you create a new empty file
    def on_new(self, view):
        show_project (view)

    # When you load an existing file
    def on_load(self, view):
        show_project (view)

    # When you use File > New view into file on an existing file
    def on_clone(self, view):
        show_project (view)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43125002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档