2013-01-21 33 views
5

Tôi đã rối tung xung quanh với Scintilla.NET trong một hoặc hai giờ, nhưng tôi đã gặp phải một vấn đề có vẻ dễ giải quyết. Tôi không thể tìm cách để thay đổi màu sắc nổi bật thực sự của từ khóa trong Scintilla.NET. Tài liệu của họ như xa như tôi đã nhìn thấy là vô cùng thiếu và tôi đã tìm thấy không có sự giúp đỡ ở đó. Tôi cũng đã thấy nhiều câu hỏi ở đây cũng không giúp ích cho tôi. Dường như không có vấn đề gì tôi làm, điểm nổi bật của từ khóa luôn luôn là màu xanh đậm, điều cực kỳ khó đọc trên chủ đề của biểu mẫu của tôi.Thay đổi Màu Cú pháp trong Scintilla.NET

Cho đến nay tôi đã đặt cùng phong cách XML này và đang sử dụng mã C# để tải kiểu. Tôi tập hợp XML từ một vài ví dụ và mã C# là từ một câu hỏi trên trang web của họ.

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

Và mã C# như sau:

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

Trả lời

5

Có vẻ như những sai lầm tôi đã không được quấn tôi <Style> 's bên trong một thẻ <Styles>. Sau khi làm điều đó có vẻ như nó hoạt động. Một điều đáng xấu hổ để tìm hiểu trực tiếp sau khi đăng câu hỏi.

làm việc bây giờ:

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

Điều đó đã giúp tôi! Cảm ơn – CloudyMarble