En regardant Stani's Python IDE, il est livré avec des tonnes de fonctionnalités utiles. Sauf qu'il ne me laisse pas faire de coloration syntaxique personnalisée.Éditeur de python de Stani - changement de syntaxe de coloration
Du Q & A sur le site de l'auteur:
« - changer les couleurs est pas pris en charge sauf si vous modifiez manuellement sm/WXP/stc.py »
J'ai donc essayé de vérifier que code moi-même dans ma quête de l'IDE parfait complet.
Le fichier stc.py semble être les modifications de l'auteur sur le code original de Robin Dunn pour wxPython. Enterré dans toute la manipulation de l'événement semble être le code qui détermine la couleur de la syntaxe différente. Tout ce que je veux faire est de changer la couleur d'arrière-plan pour être noir, changer les textes noirs en blanc, et si tout le reste se montre sous ces deux nouvelles couleurs, je suis un heureux codeur.
Est-ce que quelqu'un a déjà essayé? Merci
edit: Les lignes autour de ~ 441
def SetStyles(self)
sont ces lignes il?
modifier^2: est-ce que quelqu'un pourrait aussi trouver le curseur de couleur clignotant? Ou est-ce quelque chose d'un peu plus "codé"?
modifier^3: Ce que j'ai jusqu'à présent, en modifiant les valeurs de couleur hexadécimales de la ligne -441, dans la fonction SetStyles.
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)
Ceci utilise un arrière-plan noir et change les autres couleurs pour qu'elles soient plus claires.
Questions restant:
1. Les identificateurs de classe («auto », «classname », etc.) ont la même couleur que le texte après, mais voici comment l'original. " est, ne pense pas que cela peut être changé (facilement, de toute façon) 2. Le marqueur de position du curseur de la souris (clignotant "|") est toujours noir, ce qui devient invisible dans le nouvel arrière-plan. 3. Cette application prend-elle en charge les variables de survol de la souris et affiche-t-elle une description des origines de la variable (comme dans pyscripter)?