Рекомендация для стороннего редактирования / управления подсветкой синтаксиса - WinForms - PullRequest
6 голосов
/ 03 сентября 2008

Я ищу качественный компонент WinForms, который поддерживает подсветку синтаксиса, свертывание кода и тому подобное. Ключевые критерии:

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

Ответы [ 3 ]

7 голосов
/ 03 сентября 2008

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

4 голосов
/ 06 мая 2013

Улучшение 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

То же, что и версия ICsharp.TextEditor от DigitalRune .

Я бы порекомендовал последнюю версию 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
3 голосов
/ 04 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...