Я думаю, это зависит от того, сколько функций вы хотите реализовать в редакторе. Также, сколько работы вы готовы приложить, чтобы расширить его, и с какой кривой обучения вы готовы иметь дело.
Если вы ориентируетесь на Win32 и не возражаете против неуправляемой dll, то я думаю, что Scintilla.NET не будет проблемой. Также вы можете легко разместить его в WPF, как предлагает эта страница.
Лично я считаю, что Scintilla работает лучше, чем AvalonEdit. Кроме того, проще начать работу с базовым редактором, и он предлагает множество готовых решений, например, Scintilla предоставляет готовое свертывание кода.
С AvalonEdit вам нужно создать стратегию свертывания и самостоятельно проанализировать документ. Это то, что мне пришлось сделать, чтобы поддержать IronPython для AvalonEdit, который я еще не реализовал.
Все, что мне было нужно для поддержки редактора IronPython в scintilla, — это 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#), мой вывод: шинтилла проще и работает лучше. Хотя с AvalonEdit вы, возможно, сможете сделать больше, если захотите приложить усилия и справиться с кривой обучения. На данный момент я использую Scintilla в качестве стабильного редактора и экспериментирую с Avalon в качестве доказательства концепции. Возможно, у меня тоже сформируются новые мнения, когда я узнаю больше о редакторе.
Удачи
person
Andre
schedule
03.01.2012
QuickSharp
на основеScintillaNET
иSharpDevelop
на основеAvalonEdit
) в качестве альтернативного облегченного редактора C#. Имо,SharpDevelop
было больше возможностей, и с ним было намного проще работать. - person nawfal   schedule 24.05.2015