Penso che questo dipenda dal numero di funzionalità che si desidera implementare nell'editor. Inoltre, quanto lavoro sei disposto a estendere e quanto di una curva di apprendimento sei disposto a gestire.
Se si sta puntando su Win32 e non ti dispiace la dll non gestita, penso che Scintilla.NET non sarà un problema. Inoltre puoi facilmente ospitarla in WPF come suggerisce la pagina this.
Personalmente ho sentito che Scintilla si comporta meglio di AvalonEdit. Inoltre, è più facile iniziare con un editor di base e fornisce molto da subito, ad esempio Scintilla fornisce il codice che si piega fuori dalla scatola.
Con AvalonEdit devi creare una strategia di piegatura e analizzare il documento da solo, questo è quello che dovevo fare per supportare IronPython per AvalonEdit che non ho ancora implementato.
Tutto quello che dovevo sostenere un editor IronPython nella scintilla è stata la SciLexer.dll nel percorso di ricerca e l'assemblea Scintilla.net e la seguente configurazione:
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);
}
Per AvalonEdit si deve caricare un evidenziatore esterna file, è possibile visualizzare il post del blog this per ulteriori informazioni. Quindi se vuoi le basi (evidenziare, piegare per python + C#) la mia conclusione è schintilla è più semplice e performante. Anche se con AvalonEdit potresti essere in grado di fare di più, se sei disposto a impegnarti e gestire la curva di apprendimento. Al momento sto utilizzando Scintilla come mio editor stabile e sto sperimentando Avalon come prova di concetto. Forse formerò anche nuove opinioni mentre imparo di più sull'editor.
Buona fortuna
Bhuvan, su cosa ti sei stabilito? (ora, quasi 2 anni dopo) – Goswin
Non ho usato né come componente nel mio codice sorgente, ma ho usato due prodotti basati su ciascuno ('QuickSharp' basato su' ScintillaNET' e 'SharpDevelop' basato su' AvalonEdit') come un editor C# alternativo leggero. Imo, 'SharpDevelop' era più funzionale e molto più facile da lavorare. – nawfal