Python IDLE 代碼高亮主題
使用方法:
打開C盤我的 C:\Documents and Settings\你的用戶名.idlerc文件夾
里面會有一個 config-highlight.cfg 如果沒有請自已創建一個
將下面的代碼放到 config-highlight.cfg 里面,並重啟IDLE
這下在IDLE的設置highlight項里面就有幾個主題了
首先要找到名為config-highlight.cfg的文件,這個文件位於哪里呢?我列了一份可以找到它的路徑清單
在Linux系列系統下路徑為(~表示用戶目錄):
~/.idlerc/
在Windows XP下路徑為:
C:\Documents and Settings<用戶名>.idlerc
在Windows 7下路徑為:
C:\Users<用戶名>.idlerc
對於Windows可以直接打開開始運行或者在地址欄輸入下面的路徑確認即可:
%USERPROFILE%.idlerc\找到這個名叫config-highlight.cfg文件后接下來就需要編輯它了,怎么?找不到?沒關系,我們可以新創建一個config-highlight.cfg。
當然,說到編輯,命令控們也可以嘗試下面的命令,在Linux系統下:
在Linux下
vi ~/.idlerc/config-highlight.cfg
在Windows系統下:
notepad %USERPROFILE%.idlerc\config-highlight.cfg好了,現在我們應該已經打開config-highlight.cfg這個文件並做好編輯的准備了,比如說我可以通過修改這個文件為下面內容來實現兩個名為Obsidian和tango的代碼高亮主題:
[Obsidian]
definition-foreground = #678CB1
error-foreground = #FF0000
string-background = #293134
keyword-foreground = #93C763
normal-foreground = #E0E2E4
comment-background = #293134
hit-foreground = #E0E2E4
builtin-background = #293134
stdout-foreground = #678CB1
cursor-foreground = #E0E2E4
break-background = #293134
comment-foreground = #66747B
hilite-background = #2F393C
hilite-foreground = #E0E2E4
definition-background = #293134
stderr-background = #293134
hit-background = #000000
console-foreground = #E0E2E4
normal-background = #293134
builtin-foreground = #E0E2E4
stdout-background = #293134
console-background = #293134
stderr-foreground = #FB0000
keyword-background = #293134
string-foreground = #EC7600
break-foreground = #E0E2E4
error-background = #293134
[tango]
definition-foreground = #fce94f
error-foreground = #fa8072
string-background = #2e3436
keyword-foreground = #8cc4ff
normal-foreground = #ffffff
comment-background = #2e3436
hit-foreground = #ffffff
break-foreground = #000000
builtin-background = #2e3436
stdout-foreground = #eeeeec
cursor-foreground = #fce94f
hit-background = #2e3436
comment-foreground = #73d216
hilite-background = #edd400
definition-background = #2e3436
stderr-background = #2e3436
break-background = #2e3436
console-foreground = #87ceeb
normal-background = #2e3436
builtin-foreground = #ad7fa8
stdout-background = #2e3436
console-background = #2e3436
stderr-foreground = #ff3e40
keyword-background = #2e3436
string-foreground = #e9b96e
hilite-foreground = #2e3436
error-background = #2e3436
[blackboard]
keyword-background = #0C1021
definition-foreground = #D63A1B
error-foreground = #ff0000
string-background = #0C1021
keyword-foreground = #FBDE2D
hilite-foreground = #000000
comment-background = #0C1021
hit-foreground = #ffffff
builtin-background = #0C1021
stdout-foreground = #eeeeee
cursor-foreground = #ffcc00
break-background = #ffff55
comment-foreground = #505050
hilite-background = gray
definition-background = #0C1021
stderr-background = #0C1021
hit-background = #0C1021
console-foreground = #87ceeb
normal-background = #0C1021
builtin-foreground = #fd9902
stdout-background = #0C1021
console-background = #0C1021
stderr-foreground = #ff3e40
normal-foreground = #F8F8F8
string-foreground = #61CE3C
break-foreground = black
error-background = #000000
[twilight]
keyword-background = #141414
definition-foreground = #c86428
error-foreground = #ff0000
string-background = #141414
keyword-foreground = #c2964b
hilite-foreground = #00ffff
comment-background = #141414
hit-foreground = #ffffff
builtin-background = #141414
stdout-foreground = #eeeeee
cursor-foreground = #ffcc00
break-background = #ffff55
comment-foreground = #524d53
hilite-background = #0000a0
definition-background = #141414
stderr-background = #141414
hit-background = #141414
console-foreground = #87ceeb
normal-background = #141414
builtin-foreground = #ce3e24
stdout-background = #141414
console-background = #141414
stderr-foreground = #ff3e40
normal-foreground = #FFFFFF
string-foreground = #61CE3C
break-foreground = black
error-background = #000000
[desert]
keyword-background = #333333
definition-foreground = #98fb98
error-foreground = #ff0000
string-background = #333333
keyword-foreground = #cc6600
hilite-foreground = #000000
comment-background = #333333
hit-foreground = #ffffff
builtin-background = #333333
stdout-foreground = #eeeeee
cursor-foreground = #ffcc00
break-background = #ffff55
comment-foreground = #87ceeb
hilite-background = gray
definition-background = #333333
stderr-background = #333333
hit-background = #333333
console-foreground = #87ceeb
normal-background = #333333
builtin-foreground = #519e51
stdout-background = #333333
console-background = #333333
stderr-foreground = #ff3e40
normal-foreground = #f0e68c
string-foreground = #ffa0a0
break-foreground = black
error-background = #000000
[cobalt]
keyword-background = #001B33
definition-foreground = #FFDD11
error-foreground = #ff0000
string-background = #001B33
keyword-foreground = #FF7222
hilite-foreground = #00ffff
comment-background = #001B33
hit-foreground = #ffffff
builtin-background = #001B33
stdout-foreground = #eeeeee
cursor-foreground = #ffcc00
break-background = #ffff55
comment-foreground = #007699
hilite-background = #0000a0
definition-background = #001B33
stderr-background = #001B33
hit-background = #001B33
console-foreground = #87ceeb
normal-background = #001B33
builtin-foreground = #D40E36
stdout-background = #001B33
console-background = #001B33
stderr-foreground = #ff3e40
normal-foreground = #F8F8F8
string-foreground = #61CE3C
break-foreground = black
error-background = #000000
我們修改了config-highlight.cfg這個文件並不意味着事情結束了,我們還需要在Python IDLE中選擇我們的主題,這時如果已經打開Python IDLE,請保存必要文件並重新開啟IDLE,開啟后依次選擇菜單上Options – Configure IDLE…
選擇Highlighting選項卡,然后Select選擇a Custom Theme,如下圖所示,選擇剛才配置的兩個主題之一,我這里選擇tango。
完成配置后點擊Apply或者OK,看看效果吧,有童鞋要問字體怎么配置?這個容易,在Highlighting選項卡旁邊有個Fonts/Tabs選項卡,可以用來配置字體和縮進寬度的:
好了,做完這些一個嶄新的界面就應該呈現了,如果看不到效果請重啟Python IDLE。
Python IDLE配置清屏快捷鍵(Ctrl+L)
- 在Python\Lib\idlelib下,新建一個ClearWindow.py文件(沒有時就新建),內容如下:
""" Clear Window Extension Version: 0.2 Author: Roger D. Serwy roger.serwy@gmail.com Date: 2009-06-14 It provides "Clear Shell Window" under "Options" with ability to undo. Add these lines to config-extensions.def [ClearWindow] enable=1 enable_editor=0 enable_shell=1 [ClearWindow_cfgBindings] clear-window=<Control-Key-l> """ class ClearWindow: menudefs = [ ('options', [None, ('Clear Shell Window', '<<clear-window>>'), ]),] def __init__(self, editwin): self.editwin = editwin self.text = self.editwin.text self.text.bind("<<clear-window>>", self.clear_window2) self.text.bind("<<undo>>", self.undo_event) # add="+" doesn't work def undo_event(self, event): text = self.text text.mark_set("iomark2", "iomark") text.mark_set("insert2", "insert") self.editwin.undo.undo_event(event) # fix iomark and insert text.mark_set("iomark", "iomark2") text.mark_set("insert", "insert2") text.mark_unset("iomark2") text.mark_unset("insert2") def clear_window2(self, event): # Alternative method # work around the ModifiedUndoDelegator text = self.text text.undo_block_start() text.mark_set("iomark2", "iomark") text.mark_set("iomark", 1.0) text.delete(1.0, "iomark2 linestart") text.mark_set("iomark", "iomark2") text.mark_unset("iomark2") text.undo_block_stop() if self.text.compare('insert', '<', 'iomark'): self.text.mark_set('insert', 'end-1c') self.editwin.set_line_and_column() def clear_window(self, event): # remove undo delegator undo = self.editwin.undo self.editwin.per.removefilter(undo) # clear the window, but preserve current command self.text.delete(1.0, "iomark linestart") if self.text.compare('insert', '<', 'iomark'): self.text.mark_set('insert', 'end-1c') self.editwin.set_line_and_column() # restore undo delegator self.editwin.per.insertfilter(undo)
- Python\Lib\idlelib下修改config-extensions.def ,在末尾添加如下內容:
[ClearWindow] enable=1 enable_editor=0 enable_shell=1 [ClearWindow_cfgBindings] clear-window=<Control-Key-l>
- 重新Python的IDLE,在options選項中就可以看到增加了Clear shell Window Ctrl+L,即清屏的快捷鍵為:Ctrl+L