2010-06-03 4 views
31

Ich suche ein frei, Syntax-Hervorhebung, möglicherweise Autovervollständigen"Programmier Textbox" Stil Steuerung für die Verwendung in einem Visual Studio Windows Forms- oder WPF-Projekt. Es sollte mit C# und selbstdefinierten Sprachen funktionieren, und die Lizenz sollte die Verwendung in einem geschlossenen, internen Entwicklungswerkzeug ermöglichen.Free/Open-Source-Code-Editor UI-Steuerung für .Net

Es gibt Pay-for-Lösungen zur Verfügung - so etwas wie http://www.syncfusion.com/products/user-interface-edition/windows-forms/Edit würde gut funktionieren - aber ich bin auf der Suche nach etwas einfacher, und würde lieber nicht für unnötige Funktionalität bezahlen. Irgendwelche Ideen?

+7

Noch eine Frage mit vielen upvotes als Off-Topic geschlossen. Eine übermäßige Moderation vereitelt den Zweck von SO vollständig. Anstelle der für SO bestehenden Regeln/Richtlinien/Moderatoren existiert SO für die Regeln/Richtlinien/Moderatoren. ಠ_ಠ – hcoverlambda

Antwort

26

Ich habe den SharpCode.TextEditor für ein paar Fälle verwendet, und es funktioniert ganz gut - einschließlich Syntaxhervorhebung und alle.

Überprüfen Sie diese Using ICSharpCode.TextEditor Artikel auf CodeProject für ein Intro.

alt text

es herunterzuladen, auf die SharpDevelop Website gehen und . Eines der enthaltenen Projekte ist der Texteditor, den Sie leicht in eine eigene Assembly oder ein Unterprojekt isolieren können - Sie erhalten schließlich den gesamten Quellcode!

+0

Stellen Sie sicher, dass Sie der LGPL folgen. – ParmesanCodice

+0

Sieht gut aus - aber welche Auswirkungen hätte die LGPL-Lizenz auf die Verwendung in einem In-House-Only-Tool? Gemessen an meiner schnellen Wikipedie wäre das in Ordnung. –

+0

http://en.wikipedia.org/wiki/LGPL - Sie können den Code grundsätzlich ohne weitere Verpflichtungen in Ihre Apps einbinden, solange Sie nicht mit dem ursprünglichen Autor konkurrieren. Z.B. Sie können keine .NET IDE erstellen und ihren TextEditor als Komponente verwenden und dann dieses Produkt verkaufen oder vermarkten. –

18

Scintilla ist eine leistungsstarke, Open-Source-Code-Editierkomponente, und es gibt a .NET control für sie verfügbar.

+0

Es gibt auch eine Demo-App, die die ScintillaNET-Bibliothek auf github, https://github.com/hgupta9/ScintillaNET.Demo, verwendet. Hinweis: Die Demo-App verwendet die GitHub-Version des ScintillaNET-Steuerelements https://github.com/jacobslusser/ScintillaNET – AnthonyVO