【问题标题】:Sublime - Activate/Deactivate - Auto Save on Modified -- PluginSublime - 激活/停用 - 修改后自动保存 - 插件
【发布时间】:2013-03-11 16:24:26
【问题描述】:

我已经知道 SublimeText2 中用户定义的忽略包设置。有没有办法修改这个插件——例如,使用键盘映射分配——来激活或停用这个有用的自动保存功能?也许将插件链接到包控制启用/禁用功能,并分配一个键盘映射?

这是我第一次发现这个插件的链接:Is there a way to autosave on each keystroke in sublime?

import sublime, sublime_plugin

class SaveOnModifiedListener(sublime_plugin.EventListener):
def on_modified(self, view):
    view.run_command("save")

【问题讨论】:

  • 这是一个简单的解决方案——在包中创建一个文件夹并添加插件;然后,为包控制设置创建一个用户定义的键盘映射: { "keys": ["ctrl+alt+super+d"], "command": "disable_package" }, { "keys": ["f1"], "command": "enable_package" },

标签: plugins sublimetext2 sublimetext


【解决方案1】:

您可以在不依赖包控制命令的情况下执行此操作。我可以给你答案,但我知道你一直在探索编写插件,所以这可能是一个很好的练习。这很简单。不过,这里有一些提示。

在 on modified 命令中,您可以检查设置。如果设置不存在,您可以给它一个默认值(我会做 False)。您可以编写一个文本命令来切换设置,或者简单地使用toggle_setting 命令创建一个键绑定。两者都可以,但是如果您编写命令,则可以执行诸如创建状态消息之类的操作,这样您就知道保存修改是否处于活动状态。有关切换设置的信息,请参阅http://www.sublimetext.com/docs/2/settings.html

如果您只是想要答案,请告诉我,我会发布它。

【讨论】:

  • 感谢您的提示——我很乐意试一试,并报告一个潜在的编码解决方案——如果时间允许,我会每天做一点工作。
【解决方案2】:

你可以这样做:

  1. 转到首选项 -> 设置
  2. 添加以下行:

    “save_on_focus_lost”:是的,

它不会自动保存当前文件,但是当您将焦点更改为其他窗口时会自动保存,例如 Alt + Tab 到终端。

【讨论】:

    猜你喜欢
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 2016-09-18
    • 1970-01-01
    • 2016-04-10
    相关资源
    最近更新 更多