sublimetext3 - Sublime 的键绑定(bind)从一个键绑定(bind)设置多个设置

标签 sublimetext3 sublimetext sublime-text-plugin

我正在使用 Sublime Text 3。

我可以通过以下代码使用键绑定(bind)来更改字体:

[
    {
        "keys": ["ctrl+0"], "command": "global_set_setting",
        "args": {
            "setting": "font_face",
            "value": ""
        }
    },
    {
        "keys": ["ctrl+1"], "command": "global_set_setting",
        "args": {
            "setting": "font_face",
            "value": "Courier New"
        }
    },
]

但是,我也想同时改变配色方案。

我试过的:
[
    {
        "keys": ["ctrl+0"], "command": "global_set_setting",
        "args": {
            "setting": "font_size",
            "value": 10,
            "setting": "font_face",
            "value": "",
            "setting": "color_scheme",
            "value": "Monokai.sublime-color-scheme"
        }
    },
    {
        "keys": ["ctrl+1"], "command": "global_set_setting",
        "args": {
            "setting": "font_size",
            "value": 10,
            "setting": "font_face",
            "value": "Courier New",
            "setting": "color_scheme",
            "value": "Celeste.sublime-color-scheme"
        }
    },
]

当前结果:将应用的唯一更改是最后一个仅是配色方案的参数

预期结果:我想同时更改参数中的所有设置(使用一个热键)

是否可以使用键绑定(bind)来做到这一点?如果是,我该如何进行键绑定(bind)来做到这一点?

最佳答案

有一个名为 Preset Command 的 Sublime Text 插件。这正是你想要的。它在包控制上可用:Preset Command

它由用户在 Presets.sublime-settings 中定义他们想要的设置组来工作。文件,必须为这些组命名。然后可以以通常的方式添加键绑定(bind)或调色板命令,以使用分配给一组设置的名称调用插件。该插件具有详细且编写良好的说明。

例如,您在问题中使用的设置设置需要以下步骤:

1) 安装 Preset Command使用 Package Control .

2) 将以下行放入文件中:Path_To/sublime-text-3/Packages/User/Presets.sublime-settings
您可以使用以下命令轻松创建或打开它:Menu --> Preferences --> Package Settings --> Preset Command --> Manage Presets

{
    "presets":
    [
        {
            "name": "MonokaiSettingsPreset",
            "description": "Monokai, No Font Set, Size 10",
            "settings": {
                "Preferences.sublime-settings": {
                    "font_size": 10,
                    "font_face": "",
                    "color_scheme": "Monokai.sublime-color-scheme"
                }
            }
        },
        {
            "name": "CelesteSettingsPreset",
            "description": "Celeste, Courier New, Size 10",
            "settings": {
                "Preferences.sublime-settings": {
                    "font_size": 10,
                    "font_face": "Courier New",
                    "color_scheme": "Celeste.sublime-color-scheme"
                }
            }
        }
    ]
}

3) 在您的 key 文件中放置以下行,以及您要使用的任何 key :Path_To/sublime-text-3/Packages/User/Default (Your OS).sublime-keymap
{ "keys": ["ctrl+k", "1"],
  "command": "preset_command_by_name",
  "args": { "name": "MonokaiSettingsPreset" } },

{ "keys": ["ctrl+k", "2"],
  "command": "preset_command_by_name",
  "args": { "name": "CelesteSettingsPreset" } },

关于sublimetext3 - Sublime 的键绑定(bind)从一个键绑定(bind)设置多个设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53551176/

相关文章:

configuration - Sublime Text 3 新文件的默认文件类型

python - 抑制 Sublime Text 3 插件中的默认完成

python - 阻止 Sublime 插件 TextCommand 在控制台上运行?

sublimetext3 - 如何在 Sublime Text 文件夹 View 中显示二进制文件

ruby - 如何停止 sublime text 构建中的无限循环

python - 进行文本替换后如何准确设置新的光标位置

sublimetext3 - 如何使用预填充的搜索字符串显示查找和替换面板?

python - Sublime Text 3 - 加载语法文件时出错 "Packages/JavaScript/JSON.sublime-syntax"

regex - 正则表达式以匹配<h1>标记之间的所有字符

html - 如何在 Sublime Text 3 中自动完成 HTML 标签?