2012-10-29 93 views

回答

39

嘗試這樣的事情,在你的用戶密鑰綁定:

{ 
    "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" 
    } 
} 
+0

太棒了,正是我在找的東西!謝謝! – pkazmierczak

+0

@Riccardo還有一種方法可以在三種方案之間切換嗎? –

+0

太棒了,+1! 任何方式來做到這一點與主題(例如,切換蘇打黑/光與顏色方案)?我試圖獲取和設置''主題'',但它似乎並沒有工作 – FeifanZ

4

爲了支持多種配色方案,一個將改變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) 
7

我剛剛發現這個可愛的小插件: https://github.com/skt84/Schemr

哪個並不完全允許你綁定,而是給你一個Command Palette訪問權限,這對我來說是完美的。 (以防萬一任何人通過像我這樣的谷歌偶然發現)

12

如果你不想打擾編輯配置文件,你可以安裝SchemeCycle

然後循環配色方案F8Shift + F8。有了2個主題(黑暗/光明),它就像切換一樣。


如果你喜歡命令調色板檢查Norris's答案,或者嘗試用ColorSchemeSelector命令: Select Color Scheme,也不會污染你的調色板多達Schemr

可視化AKA屏幕:

enter image description here enter image description here

8

要更改全局顏色方案設置(不僅僅是當前視圖),改變裏卡多的答案是這樣的:

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

確保所有在使用此設置之前,您的視圖設置爲一種配色方案!

無論您在「Preferences.sublime-settings - User」和「Preferences.sublime-settings - Default」下面設置了什麼顏色方案,這都應該可以工作。

我收集來自Schemrs代碼這樣的信息:https://github.com/benweier/Schemr/blob/master/schemr.py 和字體,更改代碼:「包\ DEFAULT \ font.py」

+1

+1我使用此代碼來更改我的主題和顏色有一個keybind的方案。 – Abluescarab

4

還有就是要與Camaleon plugin一個主題而變化顏色方案的方式。

+1

其實它確實如此。剛試過,有趣的插件。但是,您只能切換一種方式,而且您不知道要切換到哪一種方式。 – firedev

相關問題