Sublime Text 3:将字体大小重置为自定义字体大小?

问题描述:

添加以下到我的键绑定让我在崇高的文本3重置的字体大小为默认尺寸:Sublime Text 3:将字体大小重置为自定义字体大小?

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

但是,这也将重置我曾在我的用户偏好设置的任何字体大小。例如,默认字体大小为10.当我以下内容添加到我的用户的喜好......

"font_size": 8 

...然后重置我的字体大小与ctrl+0,此设置消失,字体大小返回默认值为10.我怎样才能防止这种行为?

的命令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 
    } 
}, 

这里的好处是,它不要求您添加额外的设置来提供默认字体大小。另外,您还可以在其他情况下使用此命令,例如,一组上下文菜单项或键盘绑定,可让您在几种预设尺寸之间进行选择。