在 Sublime Startup 上启用自动保存文件插件
Enable Autosave files plugin on Sublime Startup
如何在 Sublime Text 3 启动时自动启用 Sublime Text 的 AutoSave 插件?
这个特定的包并不天真地支持在 Sublime 启动时自动启用自身的想法,因此为了实现这一点,需要一个小插件来实现这一点,我已经在下面发布了。
为了使用这个插件,select Tools > Developer > New Plugin...
从菜单中,然后用下面的代码替换呈现给您的存根插件代码,并将文件保存在 Sublime 指定的位置将默认为(您的 User
包)作为 Python 文件,例如 auto_save_on_startup.py
注意: 请参阅下面的编辑;这个插件需要你添加一个设置来控制它是否启用。
import sublime
import sublime_plugin
# Sublime executes this every time it loads the plugin, which includes when
# it first starts, as well as whenever the this file changes on disk.
def plugin_loaded():
settings = sublime.load_settings("auto_save.sublime-settings")
# See if auto_save_toggle_at_startup is turned on; default it to
# not being turned on if the setting is missing, because that is
# how the package would behave if you didn't add the setting.
if settings.get("auto_save_toggle_at_startup", False):
sublime.set_timeout(lambda: sublime.run_command("auto_save"), 1000)
编辑: 原版插件直接调用run_command
;但是 Sublime 在完全添加插件提供的所有命令 类 之前调用 plugin_loaded
端点,因此它有可能在可用之前尝试 运行 命令。
上面的代码已经过修改,因此在命令触发之前会施加延迟,从而使命令有时间可用。
如评论所示,每次 Sublime 加载插件文件时,它都会执行该插件文件中的 plugin_loaded()
函数,如果它恰好存在的话。
这里的代码检查自动保存包设置,看看你是否已经将值 auto_save_toggle_at_startup
设置为 true
,如果你有,它将调用来自自动保存包的命令它在。
因此,您还需要从菜单中 select Preferences > Package Settings > Auto-save > Settings - User
并添加适当的设置。如果您使用的是 MacOS,则首选项位于菜单中 Sublime Text
下。
如果出现空文件(因为您使用的是默认设置),则应在文件中输入以下内容并保存。否则,您可以将设置本身添加到现有设置中。
{
// Toggle auto save at startup (from User/auto_save_on_startup.py)
"auto_save_toggle_at_startup": true
}
这里的注释提醒你这个设置是由包本身之外的东西提供的,以防你忘记。
由于插件命令只会在加载时切换自动保存的状态,你要么必须在添加插件之前添加设置,保存插件文件让 Sublime 在设置完成后重新加载它放置,或者重启 Sublime。
或者,您可以将 plugin_loaded()
函数替换为仅包含 run_command
行,以无条件地始终在启动时切换状态,但您可能希望在某些时候暂时停止它执行此操作未来,只需切换设置即可轻松实现。
如何在 Sublime Text 3 启动时自动启用 Sublime Text 的 AutoSave 插件?
这个特定的包并不天真地支持在 Sublime 启动时自动启用自身的想法,因此为了实现这一点,需要一个小插件来实现这一点,我已经在下面发布了。
为了使用这个插件,select Tools > Developer > New Plugin...
从菜单中,然后用下面的代码替换呈现给您的存根插件代码,并将文件保存在 Sublime 指定的位置将默认为(您的 User
包)作为 Python 文件,例如 auto_save_on_startup.py
注意: 请参阅下面的编辑;这个插件需要你添加一个设置来控制它是否启用。
import sublime
import sublime_plugin
# Sublime executes this every time it loads the plugin, which includes when
# it first starts, as well as whenever the this file changes on disk.
def plugin_loaded():
settings = sublime.load_settings("auto_save.sublime-settings")
# See if auto_save_toggle_at_startup is turned on; default it to
# not being turned on if the setting is missing, because that is
# how the package would behave if you didn't add the setting.
if settings.get("auto_save_toggle_at_startup", False):
sublime.set_timeout(lambda: sublime.run_command("auto_save"), 1000)
编辑: 原版插件直接调用run_command
;但是 Sublime 在完全添加插件提供的所有命令 类 之前调用 plugin_loaded
端点,因此它有可能在可用之前尝试 运行 命令。
上面的代码已经过修改,因此在命令触发之前会施加延迟,从而使命令有时间可用。
如评论所示,每次 Sublime 加载插件文件时,它都会执行该插件文件中的 plugin_loaded()
函数,如果它恰好存在的话。
这里的代码检查自动保存包设置,看看你是否已经将值 auto_save_toggle_at_startup
设置为 true
,如果你有,它将调用来自自动保存包的命令它在。
因此,您还需要从菜单中 select Preferences > Package Settings > Auto-save > Settings - User
并添加适当的设置。如果您使用的是 MacOS,则首选项位于菜单中 Sublime Text
下。
如果出现空文件(因为您使用的是默认设置),则应在文件中输入以下内容并保存。否则,您可以将设置本身添加到现有设置中。
{
// Toggle auto save at startup (from User/auto_save_on_startup.py)
"auto_save_toggle_at_startup": true
}
这里的注释提醒你这个设置是由包本身之外的东西提供的,以防你忘记。
由于插件命令只会在加载时切换自动保存的状态,你要么必须在添加插件之前添加设置,保存插件文件让 Sublime 在设置完成后重新加载它放置,或者重启 Sublime。
或者,您可以将 plugin_loaded()
函数替换为仅包含 run_command
行,以无条件地始终在启动时切换状态,但您可能希望在某些时候暂时停止它执行此操作未来,只需切换设置即可轻松实现。