斯坦尼';s python编辑器-更改语法着色
现在看来,它肯定附带了大量有用的功能。但它不允许我自定义语法着色 从作者网站上的问答: “-除非手动编辑sm/wxp/stc.py,否则不支持更改颜色” 因此,在我寻求完美的全功能IDE的过程中,我尝试亲自检查代码 这个stc.py文件似乎是作者对Robin Dunn的wxPython原始代码的修改。隐藏在所有事件处理中的似乎是确定各种语法颜色的代码 我想做的就是把背景颜色改成黑色,把黑色文本改成白色,如果其他所有的东西都用这两种新颜色显示出来,我是一个快乐的程序员 有人试过这个吗?谢谢 编辑:~441周围的线斯坦尼';s python编辑器-更改语法着色,python,editor,syntax-highlighting,customization,Python,Editor,Syntax Highlighting,Customization,现在看来,它肯定附带了大量有用的功能。但它不允许我自定义语法着色 从作者网站上的问答: “-除非手动编辑sm/wxp/stc.py,否则不支持更改颜色” 因此,在我寻求完美的全功能IDE的过程中,我尝试亲自检查代码 这个stc.py文件似乎是作者对Robin Dunn的wxPython原始代码的修改。隐藏在所有事件处理中的似乎是确定各种语法颜色的代码 我想做的就是把背景颜色改成黑色,把黑色文本改成白色,如果其他所有的东西都用这两种新颜色显示出来,我是一个快乐的程序员 有人试过这个吗?谢谢 编辑:
def SetStyles(self)
那些是台词吗
编辑^2:是否有人也能找到光标闪烁颜色设置?或者这是一个更“硬”的编码
编辑^3:到目前为止,在函数SetStyles中修改第441行中的十六进制颜色值
def SetStyles(self):
# anti-aliasing
if hasattr(self,'SetUseAntiAliasing'):
self.SetUseAntiAliasing(True)
#INDICATOR STYLES FOR ERRORS (self.errorMark)
self.IndicatorSetStyle(2, wx_stc.STC_INDIC_SQUIGGLE)
self.IndicatorSetForeground(2, wx.RED)
#import dialogs.stcStyleEditor
if 1:#dialogs.stcStyleEditor.SetStyles(self, self.config):
self.StyleSetSpec(wx_stc.STC_P_DEFAULT, "face:%(mono)s,fore:#B0B0B0,size:%(size)d" % self.faces)
self.StyleClearAll()
# Global default styles for all languages B0B0B0= gray
self.StyleSetSpec(wx_stc.STC_STYLE_DEFAULT, "face:%(mono)s,fore:#B0B0B0,back:#00000,size:%(size)d" % self.faces)
self.StyleSetSpec(wx_stc.STC_STYLE_LINENUMBER, "back:#C0C0C0,face:%(mono)s,size:%(size)d" % self.faces)
self.StyleSetSpec(wx_stc.STC_STYLE_CONTROLCHAR, "face:%(mono)s,fore:#B0B0B0" % self.faces)
self.StyleSetSpec(wx_stc.STC_STYLE_BRACELIGHT, "fore:#B0B0B0,back:#0000FF,bold")
self.StyleSetSpec(wx_stc.STC_STYLE_BRACEBAD, "fore:#B0B0B0,back:#FF0000,bold")
# Python styles
# White space
self.StyleSetSpec(wx_stc.STC_P_DEFAULT, "face:%(mono)s,fore:#000000,back:#000000,size:%(size)d" % self.faces)
# Comment
self.StyleSetSpec(wx_stc.STC_P_COMMENTLINE, "face:%(mono)s,fore:#F70909,back:#000000,italic,size:%(size)d" % self.faces)
# Number
self.StyleSetSpec(wx_stc.STC_P_NUMBER, "face:%(mono)s,fore:#FFFFFF,size:%(size)d" % self.faces)
# String
self.StyleSetSpec(wx_stc.STC_P_STRING, "face:%(mono)s,fore:#34C640,size:%(size)d" % self.faces)
# Single quoted string
self.StyleSetSpec(wx_stc.STC_P_CHARACTER, "face:%(mono)s,fore:#43AB4E,size:%(size)d" % self.faces)
# Keyword (Class, def, etc.)
self.StyleSetSpec(wx_stc.STC_P_WORD, "face:%(mono)s,fore:#FF9100,bold,size:%(size)d" % self.faces)
# Triple quotes
self.StyleSetSpec(wx_stc.STC_P_TRIPLE, "face:%(mono)s,fore:#7F0000,size:%(size)d" % self.faces)
# Triple double quotes
self.StyleSetSpec(wx_stc.STC_P_TRIPLEDOUBLE, "face:%(mono)s,fore:#7F0000,size:%(size)d" % self.faces)
# Class name definition (Name of the class)
self.StyleSetSpec(wx_stc.STC_P_CLASSNAME, "face:%(mono)s,fore:#00AEFF,bold,size:%(size)d" % self.faces)
# Function or method name definition (bright blue = #0011FF)
self.StyleSetSpec(wx_stc.STC_P_DEFNAME, "face:%(mono)s,fore:#FFFF00,bold,size:%(size)d" % self.faces)
# Operators (+ - /)
self.StyleSetSpec(wx_stc.STC_P_OPERATOR, "face:%(mono)s,fore:#FFFFFF,bold,size:%(size)d" % self.faces)
# Identifiers (this was all the same color - > self.SetTopWindow(self.frame))
self.StyleSetSpec(wx_stc.STC_P_IDENTIFIER, "fore:#FFFFFF")
# Comment-blocks
self.StyleSetSpec(wx_stc.STC_P_COMMENTBLOCK, "face:%(mono)s,fore:#990000,back:#C0C0C0,italic,size:%(size)d" % self.faces)
# End of line where string is not closed
self.StyleSetSpec(wx_stc.STC_P_STRINGEOL, "face:%(mono)s,fore:#B1CCB0,face:%(mono)s,back:#E0C0E0,eol,size:%(size)d" % self.faces)
这将使用黑色背景,并将其他颜色更改为更亮
仍然存在的问题:
1.类标识符(“self.”、“classname.”等)与“.”后面的文本颜色相同,但这是原始标识符的颜色,不要认为可以更改(无论如何,很容易)
2.鼠标光标位置标记(闪烁“|”)仍为黑色,在新背景中不可见。
3.此应用程序是否支持鼠标悬停变量并弹出变量来源的描述?(如pyscripter)?我上面提到的代码基本上解决了这个问题,因此我将结束这个问题