• 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%.idlercconfig-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. 在PythonLibidlelib下,新建一个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. PythonLibidlelib下修改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
  • 相关阅读:
    在Visual Studio 2015中引用DLL的3种方法
    在Qt中使用大漠插件
    wprintf、wcout无法输出中文的解决方案
    在安卓6.0(及以上)设备上无法获取无线网卡MAC地址的解决方案
    使用Java绘制验证码
    adb常用命令整理
    Java中数组复制的几种方式以及数组合并
    在Qt Creator中为Qt工程添加资源
    使用POCO发送HTTP(S)请求
    使用Qt发送HTTPS请求
  • 原文地址:https://www.cnblogs.com/gitwow/p/10514411.html
Copyright © 2020-2023  润新知