Sublime Text 3:将字体大小重置为自定义字体大小?
添加以下到我的键绑定让我在崇高的文本3重置的字体大小为默认尺寸:Sublime Text 3:将字体大小重置为自定义字体大小?
{ "keys": ["ctrl+0"], "command": "reset_font_size" }
但是,这也将重置我曾在我的用户偏好设置的任何字体大小。例如,默认字体大小为10.当我以下内容添加到我的用户的喜好......
"font_size": 8
...然后重置我的字体大小与ctrl+0
,此设置消失,字体大小返回默认值为10.我怎样才能防止这种行为?
的命令increase_font_size
,decrease_font_size
和reset_font_size
在所述Default
包在font.py
插件定义,并且它们通过直接修改在Preferences.sublime-settings
的font_size
设置的值工作。
特别是,increase_font_size
和decrease_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
}
},
这里的好处是,它不要求您添加额外的设置来提供默认字体大小。另外,您还可以在其他情况下使用此命令,例如,一组上下文菜单项或键盘绑定,可让您在几种预设尺寸之间进行选择。