2010-03-11 4 views
3

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)?

Répondre

0

Le code que j'ai mentionné ci-dessus résout fondamentalement le problème, donc je vais résoudre le problème.

Questions connexes