2013-03-11 130 views
2

我已經知道SublimeText2中用戶定義的忽略軟件包設置。有沒有辦法修改這個插件 - 例如,使用鍵盤佈局 - 來激活或關閉這個有用的自動保存功能?也許將一個插件鏈接到程序包控制啓用/禁用功能,並分配鍵盤映射?Sublime - 激活/取消激活 - 自動保存修改 - 插件

這裏是鏈接到我第一次發現這個插件: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") 
+0

這是一個簡單的解決方案 - 在軟件包中創建一個文件夾並添加插件;然後,爲包控制設置創建一個用戶定義的鍵盤映射: {「keys」:[「ctrl + alt + super + d」],「command」:「disable_package」}, {「keys」:[「f1 「],」command「:」enable_package「}, – lawlist 2013-03-11 20:51:04

回答

0

你可以做到這一點不依賴於包控制命令。我可以給你答案,但我知道你一直在探索編寫插件,所以這可能是一個很好的練習。這很簡單。儘管這裏有一些提示。

在修改的命令上,您可以檢查設置。如果設置不存在,您可以給它一個默認值(我會做False)。您可以編寫文本命令來切換設置,也可以使用toggle_setting命令創建密鑰綁定。兩者都可以工作,但如果您編寫命令,則可以執行類似於創建狀態消息的操作,以便知道在修改時保存是否處於活動狀態。有關切換設置的信息,請參閱http://www.sublimetext.com/docs/2/settings.html

如果你只是想要答案,只是讓我知道,我會張貼它。

+0

感謝您的提示 - 我很樂意給它提供一個可能的編碼解決方案 - 我會每天處理它一點如時間允許。 – lawlist 2013-03-12 02:55:32

0

你可以這樣做:

  1. 轉到首選項 - >設置
  2. 添加以下行:

    「save_on_focus_lost」:真實,

不會自動保存當前文件,但是當您將焦點更改爲其他窗口時,例如Alt + Tab到終端。