2008-09-03 4 views
6

Я ищу качественный компонент WinForms, который поддерживает подсветку синтаксиса, сворачивание кода и тому подобное. Основные критерии являются:Рекомендация для стороннего редактирования/подсветки подсветки синтаксиса - WinForms

  1. Стабильность
  2. стоимости (цена)
  3. Возможности легко настроить синтаксис для выделения
  4. облегченного

ответ

7

ICSharpCode.TextEditor свободно и довольно стабильная.
Что касается коммерческого решения Actipro-х SyntaxEditor может быть лучшим выбором

+0

SnippetCompiler http://www.sliver.com/dotnet/SnippetCompiler/ также использует ActiPro для своего редактора. –

+0

BTW, в случае, если кто-либо задается вопросом, ActiPro не поддерживает профиль клиента. –

3

Попробуйте ScintillaNET это .NET WinForms оберткой отличным Scintilla управления. Сам Scintilla - это бесплатный редактор исходного кода, который очень настраиваемый и имеет все функции, которые вы просили. См. here для скриншота.

+1

Единственная проблема с ScintillaNET заключается в том, что у вас будет больше неуправляемых зависимостей, чтобы вытащить Scintilla. –

+0

Небольшое обновление для ScintillaNET. До сих пор (9/2011) привязки неполные и в них трудно найти ошибки. Например, если вы выберете полную строку, первый символ будет освещен, но не выбран. Сейчас я ищу замену ScintillaNet ... – Corelgott

4

Усовершенствование ICSharpCode.TextEditor было тривиально по сравнению с Scintilla.Net. Еще одно огромное преимущество ICSharpCode.TextEditor - это то, что позволяет настраивать/создавать собственные синтаксические выделения, например: https://github.com/icsharpcode/SharpDevelop/wiki/Syntax-highlighting.

НО ICSharpCode.TextEditor не является стабильным, его пронизана AccessViolations: https://www.google.com.au/search?q=icsharpcode.texteditor+accessviolationexception

Вы можете увидеть эти AccessViolations из первых рук, загрузив: http://www.codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor

Эта сборка на GitHub ведет себя лучше в WinForms, но В VSTO он все еще кричит AccessViolations: https://github.com/KindDragon/ICSharpCode.TextEditor

То же, что и DigitalRune's version of the ICsharp.TextEditor.

Я бы рекомендовал последнюю реализацию WPF: ICSharp.AvalonEdit.

Если вам необходимо разместить этот элемент управления WPF в Winforms:

public Form1() 
{ 
InitializeComponent(); 
ICSharpCode.AvalonEdit.TextEditor te = new ICSharpCode.AvalonEdit.TextEditor(); 
ElementHost host = new ElementHost(); 
host.Size = new Size(200, 100); 
host.Location = new Point(100, 100); 
host.Child = te; 
this.Controls.Add(host); 
} 


Некоторые коммерческие те, которые я наткнулся (заметьте, я не связан с этими компаниями): http://www.actiprosoftware.com/products/controls/windowsforms/syntaxeditor http://www.qwhale.net/products/editor.htm