如何在Scintilla中自定义语法突出显示(以及为什么不使用)?

时间:2011-06-20 22:54:07

标签: c# scintilla

所以无论如何,我正在尝试在Visual C#.NET中将自定义语法高亮显示到Scintilla控件中。

我被告知通过XML文件执行此操作。我将其命名为“ScintillaNET.xml”并将其放在我项目的调试仓中。

在Form_Load中,我将其语言设置为批处理(这是正确的),并在属性中指定文件的位置。

我在XML文件中的代码是:

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

<ScintillaNET>

    <!-- Set up the language, style, and lexer for batch -->
    <Language Name="batch">

        <!-- Lexer -->
        <Lexer StreamCommentPrefix="{ " StreamCommentSuffix=" }">
            <Keywords List="0">var</Keywords>
        </Lexer>

        <!-- Style -->
        <Styles>
            <Sytle Name="CHARACTER" ForeColor="Black" BackColor="Red"/>
        </Styles>

        <!-- Other Settings -->
        <Indentation TabWidth="2" UseTabs="false"/>

    </Language>

</ScintillaNET>

不幸的是,这似乎不起作用......当我运行我的程序时,Scintilla没有任何反应。

我自定义语法高亮的主要目标并不复杂。

我只想能够: 选择要突出显示的单词。 选择颜色以突出显示/着色。

我该怎么做?我的代码出了什么问题?

(如果有人有关于如何做的快速教程,那将不胜感激)

1 个答案:

答案 0 :(得分:15)

我在我的机器上测试了你的xml文件。一个带有ScintillaNet Control的Windows窗体应用程序和你的xml工作正常。

enter image description here

确保您执行以下操作:

  1. 您的系统“路径”包含SciLexer.dll所在的目录
  2. 在ScintillaNet Control的ConfigrationManager属性中。设置CustomLocation属性= ScintillaNET.xml
  3. 在ScintillaNet Control的ConfigrationManager属性中。语言属性=批处理。
  4. 的引用:

    (安装)http://scintillanet.codeplex.com/wikipage?title=Installation&referringTitle=Documentation

    (如何使用自己的配置文件?)http://scintillanet.codeplex.com/wikipage?title=HowToCustomConfig&referringTitle=Documentation