これは、エディターに実装する機能の数に依存すると思います。また、それを拡張するためにどれだけの労力を費やしても構わないと思っているか、そしてどれだけの学習曲線に対処しても構わないと思っているか。
Win32をターゲットにしていて、アンマネージdllを気にしないのであれば、Scintilla.NETは問題にならないだろうと思います。また、このページが示すように、WPFで簡単にホストできます。
個人的には、ScintillaはAvalonEditよりもパフォーマンスが優れていると感じました。また、基本的なエディターを使い始めるのも簡単で、箱から出してすぐに使えるものがたくさんあります。たとえば、Scintillaは箱から出してコードを折りたたむことができます。
AvalonEditを使用すると、折りたたみ戦略を作成し、ドキュメントを自分で解析する必要があります。これは、まだ実装していないAvalonEdit用のIronPythonをサポートするために私がしなければならなかったことです。
scintillaでIronPythonエディターをサポートするために必要なのは、検索パスのSciLexer.dllとScintilla.netアセンブリおよび次の構成だけでした。
private void Form1_Load(object sender, EventArgs e)
{
this.scintilla1 = new ScintillaNet.Scintilla();
this.scintilla1.ConfigurationManager.Language = "python";
this.scintilla1.Indentation.ShowGuides = true;
this.scintilla1.Indentation.SmartIndentType = ScintillaNet.SmartIndent.Simple;
this.scintilla1.Location = new System.Drawing.Point(0, 0);
this.scintilla1.Margins.Margin0.Width = 40;
this.scintilla1.Margins.Margin2.Width = 20;
this.scintilla1.Name = "scintilla1";
this.scintilla1.TabIndex = 4;
this.scintilla1.Whitespace.Mode = ScintillaNet.WhitespaceMode.VisibleAfterIndent;
this.scintilla1.Dock = DockStyle.Fill;
this.Controls.Add(this.scintilla1);
}
AvalonEditの場合、外部蛍光ペンファイルをロードする必要があります。詳細については、このブログ投稿を参照してください。したがって、基本(強調表示、python + c#の折りたたみ)が必要な場合、私の結論は、schintillaの方が簡単で、パフォーマンスが優れているということです。AvalonEditを使用すると、努力を惜しまず学習曲線に対処する意思がある場合、最終的にはより多くのことができる可能性があります。現在、私は安定したエディターとしてScintillaを使用しており、概念実証としてAvalonを実験しています。おそらく、私も編集者についてもっと学ぶにつれて、新しい意見を形成するでしょう。
幸運を