如何在AvalonEdit中设置语法突出显示?

时间:2012-09-28 01:26:25

标签: c# wpf syntax-highlighting avalonedit

我正在尝试在我使用AvalonEdit制作的程序中设置语法高亮显示

这是我正在使用的代码:

StreamResourceInfo sri = Application.GetResourceStream(new Uri("lua.xshd"));
        using (Stream s  = sri.Stream)
        {
            using (XmlTextReader reader = new XmlTextReader(s))
            {
                var gLua = HighlightingLoader.LoadXshd(reader);
                editor.SyntaxHighlighting = HighlightingLoader.Load(gLua, HighlightingManager.Instance);
                editor.Text = reader.ToString();
            }
        }

我也来了

  

System.dll

中出现'System.UriFormatException'类型的第一次机会异常

我应该如何更改它才能使其正常工作?

2 个答案:

答案 0 :(得分:0)

我用

using (Stream s = File.OpenRead(@"C:\Users\JFM\Documents\latex3.xshd")) 
{
using (XmlTextReader reader = new XmlTextReader(s)) 
 {
   editor.SyntaxHighlighting = ICSharpCode.AvalonEdit.Highlighting.Xshd.HighlightingLoader.Load
       (reader, ICSharpCode.AvalonEdit.Highlighting.HighlightingManager.Instance);    
 }
}

答案 1 :(得分:0)

这是因为您没有包含您的程序集名称。因此,如果您将xshd构建为嵌入式资源,它应该是这样的。

    private void LoadHightLightRule()
    {
        using (Stream s = myAssembly.GetManifestResourceStream("Your_Assembly_Name.lua.xshd"))
        {
            using (XmlTextReader reader = new XmlTextReader(s))
            {
                Editor.SyntaxHighlighting = HighlightingLoader.Load(reader, HighlightingManager.Instance);
            }
        }
    }