2017-10-17 96 views
2

添加以下到我的鍵綁定讓我在崇高的文本3重置的字體大小爲默認尺寸:Sublime Text 3:將字體大小重置爲自定義字體大小?

{ "keys": ["ctrl+0"], "command": "reset_font_size" } 

但是,這也將重置我曾在我的用戶偏好設置的任何字體大小。例如,默認字體大小爲10.當我以下內容添加到我的用戶的喜好......

"font_size": 8 

...然後重置我的字體大小與ctrl+0,此設置消失,字體大小返回默認值爲10.我怎樣才能防止這種行爲?

回答

0

的命令increase_font_sizedecrease_font_sizereset_font_size在所述Default包在font.py插件定義,並且它們通過直接修改在Preferences.sublime-settingsfont_size設置的值工作。

特別是,increase_font_sizedecrease_font_size都修改設置的當前值,而您注意到reset_font_size命令完全刪除它以便將事情恢復爲默認值。

初看起來,您可能會嘗試使用set_setting命令而不是reset_font_size,這將允許您將font_size重置爲想要作爲默認值的值。

但是,這不會如你所期望的那樣工作,因爲set_setting只修改當前聚焦文件view的設置,而Preferences.sublime-settings文件指定全局設置。因此,您會注意到,上下改變字體大小會在任何地方生效,但重置它只會在當前視圖中起作用。

要解決該問題,您需要通過更改font_size設置的Preferences.sublime-settings版本來重置爲選定的默認字體大小。

一個例子就是下面的插件,你可以從菜單中選擇Tools > Developer > New Plugin...,然後用下面的代碼替換存根代碼,並將其保存爲一個python文件在Sublime默認的位置例如set_default_font_size.py,但只能延長很重要):

import sublime 
import sublime_plugin 


class SetDefaultFontSizeCommand(sublime_plugin.ApplicationCommand): 
    def run(self): 
     s = sublime.load_settings("Preferences.sublime-settings") 

     new_size = s.get("default_font_size", 10) 
     s.set("font_size", new_size) 

     sublime.save_settings("Preferences.sublime-settings") 

一旦這樣做了,你想修改默認的喜好和添加default_font_size設置,指定你想成爲你的默認字體大小,字體設置,然後修改上面的密鑰綁定以調用set_default_font_size而不是reset_font_size

該插件只是簡單地提取您指定的默認字體大小,並使用它更新首選項,這會將其恢復爲您希望的值,從而使字體大小一次全部更改。


[編輯]

該另一個潛在的解決方案將是以下插件,它更普遍地提供了一個版本,上面提到的set_setting命令將設置設定成全局的喜好,而不是僅僅改變在當前視圖設置:

import sublime 
import sublime_plugin 


class GlobalSetSettingCommand(sublime_plugin.ApplicationCommand): 
    def run(self, setting, value): 
     s = sublime.load_settings("Preferences.sublime-settings") 
     s.set(setting, value) 
     sublime.save_settings("Preferences.sublime-settings") 

要使用此,你需要一個鍵這樣(與你的字體大小作適當變更)結合:

{ 
    "keys": ["ctrl+0"], "command": "global_set_setting", 
    "args": { 
     "setting": "font_size", 
     "value": 12 
    } 
}, 

這裏的好處是,它不要求您添加額外的設置來提供默認字體大小。另外,您還可以在其他情況下使用此命令,例如,一組上下文菜單項或鍵盤綁定,可讓您在幾種預設尺寸之間進行選擇。