2013-01-21 34 views
5

我一直在使用Scintilla.NET搞亂一兩個小時,但我遇到了一個似乎應該很容易解決的問題。我似乎無法找到一種方法來更改Scintilla.NET中關鍵字的實際高亮顏色。據我所見,他們的文件非常缺乏,我在那裏找不到任何幫助。我在這裏也看到了很多沒有幫助過我的問題。似乎不管我做什麼,關鍵字的亮點總是暗藍色,這在我的表單主題中非常難以閱讀。在Scintilla.NET中更改語法顏色

到目前爲止,我已經將這種XML風格放在一起,並使用C#代碼來加載樣式。我把幾個例子中的XML放在一起,C#代碼來自他們網站上的一個問題。

<?xml version="1.0" encoding="utf-8"?> 
<ScintillaNET> 

    <Language Name="65c816 asm"> 
     <Indentation TabWidth="4"/> 
     <Lexer LineCommentPrefix=";" > 
      <Keywords List="0" Inherit="False"> 
      adc adc and asl bcc bcs beq bit bmi bne bpl 
      bra brk brl bvc bvs clc cld cli clv cmp cop 
      cpx cpy dec dex dey eor inc inx iny jmp jsr 
      lda ldx ldy lsr mvn mvp nop ora pea pei per 
      pha phb phd phk php phx phy pla plb pld plp 
      plx ply rep rol ror rti rtl rts sbc sec sed 
      sei sep sta stp stx sty stz tax tay tcd tcs 
      tdc trb tsb tsc tsx txa txs txy tya tyx wai 
      wdm xba xce 
      </Keywords> 
     </Lexer> 
     <Style Name="CHARACTER" ForeColor="#00AAFF"/> 
     <Style Name="NUMBER" ForeColor="#00AA00"/> 
    </Language> 
</ScintillaNET> 

和C#代碼如下:

scintilla1.Lexing.LexerLanguageMap["65c816 asm"] = "cpp"; 
scintilla1.ConfigurationManager.CustomLocation = System.IO.Path.GetFullPath("65c816.xml"); 
scintilla1.ConfigurationManager.Language = "65c816 asm"; 
scintilla1.ConfigurationManager.Configure(); 

回答

5

看來我犯了這個錯誤沒有被包裝一<Styles>標籤內我<Style>的。這樣做後,似乎工作。發佈問題後直接找出一種令人尷尬的事情。

工作現在:

<?xml version="1.0" encoding="utf-8"?> 
<ScintillaNET> 

    <Language Name="65c816 asm"> 
     <Indentation TabWidth="4"/> 
     <Lexer LineCommentPrefix=";" > 
      <Keywords List="0" Inherit="False"> 
      adc adc and asl bcc bcs beq bit bmi bne bpl 
      bra brk brl bvc bvs clc cld cli clv cmp cop 
      cpx cpy dec dex dey eor inc inx iny jmp jsr 
      lda ldx ldy lsr mvn mvp nop ora pea pei per 
      pha phb phd phk php phx phy pla plb pld plp 
      plx ply rep rol ror rti rtl rts sbc sec sed 
      sei sep sta stp stx sty stz tax tay tcd tcs 
      tdc trb tsb tsc tsx txa txs txy tya tyx wai 
      wdm xba xce 
      </Keywords> 
     </Lexer> 
     <Styles> 
      <Style Name="CHARACTER" ForeColor="#00AAFF"/> 
      <Style Name="NUMBER" ForeColor="#00AA00"/> 
     </Styles> 
    </Language> 
</ScintillaNET> 
+0

,幫助我!謝謝 – CloudyMarble