fonts - 崇高文本3 : Reset font size to custom font size?

标签 fonts sublimetext3

将以下内容添加到我的键绑定(bind)中可以让我将 Sublime Text 3 中的字体大小重置为默认大小:

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

但这也会重置我在用户首选项中设置的任何字体大小。例如,默认字体大小为 10。当我将以下内容添加到我的用户首选项时...

"font_size": 8

...然后使用ctrl+0重置我的字体大小,此设置消失并且字体大小返回到默认值10。如何防止这种行为?

最佳答案

命令increase_font_size , decrease_font_sizereset_font_sizeDefault 中定义包在 font.py插件,它们通过直接修改 font_size 的值来工作。设置在Preferences.sublime-settings .

特别是,increase_font_sizedecrease_font_size两者都会修改设置的当前值,而正如您所注意到的 reset_font_size命令将其完全删除,以便将其恢复为默认值。

乍一看,您可能会尝试使用 set_setting命令而不是 reset_font_size ,这将允许您重置 font_size返回到想要作为默认值的值。

但是,这不会像您预期的那样工作,因为 set_setting仅修改当前焦点文件的设置 view ,而Preferences.sublime-settings文件指定全局设置。因此,您会注意到向上和向下更改字体大小会在所有地方生效,但重置它仅在当前 View 中有效。

要解决这个问题,您需要通过更改Preferences.sublime-settings来处理重置回所选默认字体大小的问题。 font_size的版本设置。

以下插件就是一个例子,您可以通过选择 Tools > Developer > New Plugin... 来使用它。从菜单中,然后用下面的代码替换 stub 代码,并将其作为 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设置指定您想要作为默认字体大小的字体设置,然后修改上面的键绑定(bind)以调用 set_default_font_size而不是reset_font_size .

这个插件只是提取您指定的默认字体大小并用它更新首选项,这会将其恢复为您想要的值,从而使字体大小同时在所有地方发生变化。

<小时/>

[编辑]

另一个潜在的解决方案是以下插件,它更一般地提供 set_setting 的版本。上面引用的命令会将设置设置到您的全局首选项中,而不仅仅是更改当前 View 中的设置:

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")

要使用此功能,您需要如下所示的键绑定(bind)(适当更改字体大小):

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

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

关于fonts - 崇高文本3 : Reset font size to custom font size?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46790515/

相关文章:

css - Open Sans SemiBold 在本地主机上似乎不可用

c# - 如何在 Xamarin Forms 中使用粗字体?

python - 如何让 XKCD 字体在 matplotlib 中工作

默认情况下,在 SublimeText 中打开的 Vagrantfile 作为 Ruby 扩展文件

composer-php - 什么是 phpmd 以及如何使用它?

sublimetext2 - sublime 中 .sage 的语法高亮

html - Mac Chrome 上的字体 DinPro-Light 问题

regex - 如何在 SublimeText3 或 Atom 中查找不包含字符串的文件

python - Sublime Text Markdown 到 HTML 电子邮件

javascript - 根据输入值设置字体颜色