我想创建自己的IDE,但我想要一个语法高亮的代码编辑器.
我想将它作为控件嵌入到WPF窗口中.
马尔科姆
在夏普开发的IDE具有可以在你的程序中使用相对容易(它确实需要工作的一点点要弄清楚它是如何工作的,它不具有"即插即用"的文件)大的代码编辑器.如果你查看Kaxaml的源代码,你可以看到如何在WPF中嵌入它.
如果您不介意没有任何文档,AvalonEdit是一个不错的选择.我目前正在使用一个项目,它是一个很棒的工具.即使在复杂的情况下我也没有遇到过一个bug.
您可以在svn://svnmirror.sharpdevelop.net/sharpdevelop/trunk/SharpDevelop/src/Libraries/AvalonEdit找到它的源代码.
另一种选择是Scintilla.NET(UPDATED https://github.com/jacobslusser/ScintillaNET).
它是围绕Scintilla Native Control的.NET 2.0包装器.我们已成功用于显示/编辑HLSL,XML,Text和其他内部脚本语言.如果需要,可以很容易地为自己的语言编写语言描述文件.
我目前正在WPF应用程序中托管WinForms控件.唯一的困难是在控件中单击时激活WPF上下文菜单; 通过在WinFormsHost上侦听MouseRightButtonDown事件然后将ContextMenu设置为可见(ContextMenu.IsOpen = true)来解决它:/
我一直在接触Actipro Software re:SyntaxEditor,正在积极开发WPF版本,很快就会推出.暂时我们将继续使用Scintilla.NET
WPF的另一种可能性:
http://syntaxhighlightbox.codeplex.com/