C# 代码编辑器实现篇-语法高亮
本片介绍基于 AvalonEdit 实现一个支持语法高亮的 C# 编辑器
实现效果
语法高亮
点击编译
实现步骤
- 在VS中创建窗体应用程序。通过 Nuget 引用 AvalonEdit。
- 在窗体中引入控件 ElementHost。用来承载 AvalonEdit 中的 WPF 控件 TextEditor。
- 实例化并配置 TextEditor。将其放入 ElementHost 容器中
TextEditor editor = new TextEditor();
//展示行号
editor.ShowLineNumbers = true;
editor.Padding = new System.Windows.Thickness(20);
//字体
editor.FontFamily = new System.Windows.Media.FontFamily("Console");
editor.FontSize = 14;
//C#语法高亮
editor.SyntaxHighlighting = HighlightingManager.Instance.GetDefinition("C#");
//将editor作为elemetnHost的组件
elementHost1.Child = editor;
//在编辑器中加载 CodeEditorView.cs
editor.Load("../../CodeEditorView.cs");
至此,简单的 C# 代码编辑器实现。
点击编译,弹出提示信息实现思路。通过 SplitContainer 控件的 Panel2Collapsed 属性的值,来隐藏和展示下半部分。