2008-09-03 6 views

risposta

7

ICSharpCode.TextEditor è gratuito e abbastanza stabile.
Come per soluzione commerciale Actipro di SyntaxEditor potrebbe essere una scelta migliore

+0

SnippetCompiler http://www.sliver.com/dotnet/SnippetCompiler/ utilizza ActiPro anche per il suo editor. –

+0

BTW, nel caso in cui qualcuno si aspetti, ActiPro non supporta il profilo del cliente. –

3

Prova ScintillaNET è un wrapper WinForms .NET in tutto il eccellente controllo Scintilla. Scintilla stesso è un componente editor di codice sorgente gratuito che è molto personalizzabile e ha tutte le funzionalità richieste. Vedi here per uno screenshot.

+1

L'unico problema con ScintillaNET è che avrai più dipendenze non gestite per coinvolgere Scintilla. –

+0

Un piccolo aggiornamento a ScintillaNET - Fino ad ora (9/2011) i collegamenti sono incompleti e presentano alcuni bug difficili da trovare. Ad esempio, se selezioni una linea intera, il primo carattere è evidenziato ma non presente nella selezione. In questo momento sto cercando una sostituzione di ScintillaNet ... – Corelgott

4

Migliorare ICSharpCode.TextEditor è stato banale rispetto a Scintilla.Net. Un altro enorme vantaggio di ICSharpCode.TextEditor è che consente di personalizzare/creare la propria evidenziazione della sintassi, ad esempio: https://github.com/icsharpcode/SharpDevelop/wiki/Syntax-highlighting.

MA ICSharpCode.TextEditor non è stabile, il suo pieno di AccessViolations: https://www.google.com.au/search?q=icsharpcode.texteditor+accessviolationexception

Potete vedere questi AccessViolations prima mano scaricando: http://www.codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor

Questa build su GitHub si comporta meglio in WinForms, ma in VSTO ancora urla AccessViolations: https://github.com/KindDragon/ICSharpCode.TextEditor

Uguale a DigitalRune's version of the ICsharp.TextEditor.

Consiglierei l'ultima implementazione WPF: ICSharp.AvalonEdit.

Se avete bisogno di ospitare questo controllo WPF in 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); 
} 


Alcuni quelli commerciali mi sono imbattuto (notare che non sono affiliati con queste aziende): http://www.actiprosoftware.com/products/controls/windowsforms/syntaxeditor http://www.qwhale.net/products/editor.htm