Python IDLE 代码高亮主题

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)

  1. 在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)
  1. Python\Lib\idlelib下修改config-extensions.def ,在末尾添加如下内容:
[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-l>
  1. 重新Python的IDLE,在options选项中就可以看到增加了Clear shell Window Ctrl+L,即清屏的快捷键为:Ctrl+L
上一篇:C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码


下一篇:iOS报错锦集