2009-03-06 8 views
10

Ich brauche ein Syntax-Highlighting-Editor-Steuerelement in meine Anwendung zu integrieren. Es ist erforderlich, dass das Steuerelement freier und nativer .NET-Code ist, so dass das Scintilla.NET-Steuerelement nicht ausführbar ist. Der Grund dafür ist, dass es sich um eine ClickOnce-Anwendung handelt.Freie Syntax Hervorhebung von .NET Editor

Ich möchte Antworten, die WinForms oder WPF verwenden. Es muss nicht vom selben Anbieter stammen. Es muss im Grunde Syntax-Hervorhebung, Zeilennummern unterstützen und ziemlich schnell für große Dateien bis zu 100.000 und MUSS FREI sein!

Ich verstehe, dass diese Frage bereits zuvor gestellt wurde, denn sie sind in der Regel mit kommerziellen Kontrollen verwechselt, die Lizenzgebühren erfordern oder nicht frei sind oder das Scintilla.NET-Steuerelement, das nicht nativen .NET-Code ist.

+0

Ich habe so viele Male gesucht, habe nie eine gefunden, also hoffe ich, dass Sie eine gute Antwort auf diese Frage bekommen;) – hmcclungiii

+0

Es gibt eine, die nicht Ihren Anforderungen entspricht: Die Visual Studio Shell. (Siehe die Beispiele auf MSDN.) Es ist im Grunde frei, aber kann nicht als eine Komponente verteilt werden oder ClickOnce nicht verwenden. Sie können jedoch Syntax-Highlighting und vieles mehr tun. –

Antwort

3

Sie möchten sehen, ob das Text-Steuerelement, das für MonoDevelop 2 erstellt wurde, Ihnen helfen wird. Es ist integriert und Sie müssen sehen, ob die Lizenzierung zu Ihnen passt.

Es verwendet jedoch GTK +, also müssten Sie wahrscheinlich den GtkSharp Wrapper um GTK + haben. Aber es wäre in der Theorie möglich, es als Grundlage für etwas zu verwenden, das auf dem GUI-API-System sitzt, für das Sie programmieren.

ETA: Sie können auch den Code in SharpDevelop, die unter Windows ausgeführt wird, auschecken. Auch zwischen den beiden Projekten gibt es Programmierer.

Links: SharpDevelop, MonoDevelop

+0

Vielleicht würde dann die Textkontrolle für SharpDevelop funktionieren? Ich erinnere mich an den Autor von Kaxaml, der sagte, dass er diese Kontrolle benutzte. – Andy

+0

Das ist sicherlich eine Möglichkeit. Ich kann meinen Kommentar bearbeiten, um dies zu erwähnen. –

+0

MonoDevelop wurde vor einiger Zeit von SharpDevelop gespalten (http://en.wikipedia.org/wiki/MonoDevelop). Beide sind Open Source, aber SharpDevelop eignet sich besser für die Integration mit WinForms-Apps, da es nicht an GTK + gebunden ist. –

12

Das SharpDevelop IDE ist eine Open-Source-Visual Studio Alternative, und sein Editor bietet Syntax-Einfärbung und die automatische Vervollständigung für C# und andere Sprachen. Das Editor-Steuerelement kann separat vom Rest der IDE verwendet werden, und es gibt ein Beispiel in den Beispielen, das zeigt, wie Sie es in Ihre eigene Lösung integrieren können (Samples \ CSharpCodeCompletion, denke ich).

Versuchen Sie, die Community-Foren, wenn Sie irgendwelche Schwierigkeiten haben:

http://community.sharpdevelop.net/forums/

Es ist in C# und WinForms geschrieben.