Подтвердить что ты не робот

Ярлык клавиатуры для изменения цветовой схемы в Sublime Text 2?

Есть ли способ назначить комбинацию клавиш для конкретной цветовой схемы в Sublime Text 2? В Emacs легко определить функцию, которая переключает цветовую схему "ночного режима" и назначает ее сочетанию клавиш, мне было интересно, можете ли вы также сделать это в ST2.

Петр

4b9b3361

Ответ 1

Попробуйте что-то подобное в привязке к пользовательскому ключу:

{
    "keys": ["YOUR_SHORTCUT"],
    "command": "set_setting",
    "args":
    {
        "setting": "color_scheme",
        "value": "Packages/Color Scheme - Default/Solarized (Light).tmTheme"
    }
}

Конечно, измените Packages/Color Scheme - Default/Solarized (Light).tmTheme на любую тему, которую вы предпочитаете.

Если вы хотите переключиться между двумя цветовыми схемами, вы можете создать плагин (Tools/New Plugin...):

import sublime, sublime_plugin

class ToggleColorSchemeCommand(sublime_plugin.TextCommand):
    def run(self, edit, **args):

        scheme1 = args["color_scheme_1"]
        scheme2 = args["color_scheme_2"]
        current_scheme = self.view.settings().get("color_scheme")

        new_scheme = scheme1 if current_scheme == scheme2 else scheme2
        self.view.settings().set("color_scheme", new_scheme)

и сохраните его в каталоге Packages/User.

Затем добавьте привязку клавиш следующим образом:

{  
    "keys": ["YOUR_TOGGLE_SHORCUT"], "command": "toggle_color_scheme",
    "args":
    {
        "color_scheme_1": "Packages/Color Scheme - Default/Solarized (Light).tmTheme" ,
        "color_scheme_2": "Packages/Color Scheme - Default/Solarized (Dark).tmTheme"
    }
}

Ответ 2

Если вы не хотите беспокоиться об изменении конфигурационных файлов, вы можете установить SchemeCycle.

Затем запустите цветовые схемы цикла с помощью F8 и Shift+F8. С 2 темами (темный/светлый) он действует как переключение.


Если вы предпочитаете команду "Палитра команд", проверьте ответ Норриса или попробуйте ColorSchemeSelector с помощью команды : Select Color Scheme она не будет загрязнять ваш палитр так же, как Schemr.

Визуализация экранов AKA:

enter image description hereenter image description here

Ответ 3

Чтобы изменить настройки глобальной цветовой схемы (а не только текущий вид), измените ответ Риккардо следующим образом:

import sublime, sublime_plugin

class ToggleColorSchemeCommand(sublime_plugin.TextCommand):
    def run(self, edit, **args):
        s = sublime.load_settings("Preferences.sublime-settings")

        scheme1 = args["color_scheme_1"]
        scheme2 = args["color_scheme_2"]
        current_scheme = s.get("color_scheme", scheme1)

        new_scheme = scheme1
        if current_scheme == scheme1:
          new_scheme = scheme2

        if current_scheme == scheme2:
         new_scheme = scheme1

        s.set("color_scheme", new_scheme)

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

Перед использованием убедитесь, что все ваши представления настроены на одну цветовую схему!

Это должно работать независимо от того, какие ваши цветовые схемы в настоящее время настроены в соответствии с "Предпочтения .sublime-settings - User" и "Preferences.sublime-settings - Default".

Я получил эту информацию из кода Schemrs: https://github.com/benweier/Schemr/blob/master/schemr.py и код изменения шрифта: "Пакеты\По умолчанию \font.py"

Ответ 4

Я просто нашел этот красивый плагин: https://github.com/skt84/Schemr

Это не позволяет вам привязать, но вместо этого дает вам доступ к командной палитре, который идеально подходит для меня. (На всякий случай кто-то наткнулся на это через Google, как я.)

Ответ 5

Чтобы поддерживать несколько цветовых схем, можно было бы изменить Riccardos так:

class ToggleColorSchemeCommand(sublime_plugin.TextCommand):
    def run(self, edit, **args):

        scheme1 = args["color_scheme_1"]
        scheme2 = args["color_scheme_2"]
        scheme3 = args["color_scheme_3"]
        current_scheme = self.view.settings().get("color_scheme")

        new_scheme = scheme1
        if current_scheme == scheme1:
          new_scheme = scheme2

        if current_scheme == scheme2:
         new_scheme = scheme3

        self.view.settings().set("color_scheme", new_scheme)

Ответ 6

Существует способ изменения цветовой схемы наряду с темой плагин Camaleon.

Ответ 7

Если кто-то заинтересован, я просто создал плагин для переключения между N различными темами и цветамисхемы. Посмотрите здесь:

https://gist.github.com/andresbravog/9429793