Sublime Text 3-仅更改一个窗口的颜色?

sel*_*eli 4 sublimetext sublimetext3

我同时使用多个Sublime Text窗口,并希望将每个窗口设置为不同的颜色主题。默认情况下,更改“颜色首选项”会更改所有打开的窗口。

请注意,可以使用“项目设置”文件为单个窗口设置配色方案(这表明通常是可能的),但随后必须通过“项目设置”打开文件夹(而不仅仅是打开文件夹) )。

如何(通过编程方式或通过应用程序)为单个SublimeText窗口设置单独的配色方案?

Mat*_*DMo 6

您可以使用一个小插件来完成此操作。使用Python语法和以下内容创建一个新文件:

import sublime_plugin


class ChangeWindowColorSchemeCommand(sublime_plugin.WindowCommand):
    def change_scheme(self, scheme):
        for view in self.window.views():
            view.settings().set("color_scheme", scheme)

    def run(self):
        message = 'Enter path to color scheme:'
        path = 'Packages/Color Scheme - Default/Monokai.tmTheme'
        self.window.show_input_panel(message, path, self.change_scheme, None, None)
Run Code Online (Sandbox Code Playgroud)

将文件另存为文件Packages/User夹(可通过访问Preferences -> Browse Packages...change_window_color_scheme.py。您可以通过两种方式触发插件-从控制台或通过按键绑定。要通过控制台运行它,请使用打开控制台Ctrl`并输入

window.run_command('change_window_color_scheme')
Run Code Online (Sandbox Code Playgroud)

窗口底部将打开一个输入面板,您可以在其中输入要使用的配色方案的路径。默认值为Monokai,但您可以根据需要在插件源中进行更改。输入路径后,点击Enter,当前窗口中的所有文件将使用该配色方案。

要创建键绑定,请打开Preferences -> Key Bindings-User并添加以下内容:

{ "keys": ["ctrl+alt+shift+s"], "command": "change_window_color_scheme" }
Run Code Online (Sandbox Code Playgroud)

如果文件为空,请用方括号将以上内容括起来[ ]。保存文件后,您现在可以使用CtrlAltShiftS或任何最适合您的组合键触发插件。