Laden...

C#-Scripteditor-Control basierend auf Komponenten von SharpDevelop

Erstellt von Blacal vor 11 Jahren Letzter Beitrag vor 11 Jahren 10.307 Views
B
Blacal Themenstarter:in
387 Beiträge seit 2005
vor 11 Jahren
Hinweis von herbivore vor 11 Jahren

Es handelt sich um ein C#-Script-Editor-Control, das man in eigenen Anwendungen verwenden kann.

C#-Scripteditor-Control basierend auf Komponenten von SharpDevelop

Hallo zusammen,

vor kurzem habe ich mit den aktuellen Komponenten von SharpDevelop rumgespielt, um einen einfachen kleinen C#-Scripteditor zu entwickeln. Herausgekommen ist ein relativ einfacher Editor mit SyntaxHighlighting und Intellisense. Screenshot ist angehängt.

Hier der Download-Link zur Projektmappe (.Net 4.5 / VS2012). Die Umsetzung ist relativ einfach mit den OpenSource-Bibliotheken AvalonEdit und SharpDevelopCodeCompletion. Ein "Compile and Run" Button ist natürlich auch dabei 😉

Hier noch ein Link zu einem Kompilat mit allen Abhängigkeiten (.Net 4.0)

Gruß
Roland

C#-Scripting, Scripteditor, SyntaxHighlighting, Intellisense

Gelöschter Account
vor 11 Jahren

Ist es möglich eine Version anzubieten für Leute die noch VS2010 verwenden?

B
Blacal Themenstarter:in
387 Beiträge seit 2005
vor 11 Jahren

Ah sorry,
das liegt daran, weil ich an einer Stelle async-await und damit das .Net Framework 4.5 verwendet habe.

Hier eine Version für 4.0 und Visual Studio 2010.
Link

Gruß
Roland

U
4 Beiträge seit 2012
vor 11 Jahren

Könntest du vlt eine kompillierte Version für Windows 7 anhängen ?
Bei mir wird System.Windows.Interactivity nicht gefunden obwohl ich Net Framework 4 installiert habe. Da ich das Tool sehr cool finde und es auch gerne benutzen würde, brauche ich aber auch nen Binary 😉

Gelöschter Account
vor 11 Jahren

Hallo urk0n

Die System.Windows.Interactivity kommt von Expression Blend (hatte ich bis heute auch nicht)

Hallo Blacal

Kann man da irgendwas machen das dieses Assembly nicht benötigt wird?

B
Blacal Themenstarter:in
387 Beiträge seit 2005
vor 11 Jahren

Hi,

ne, leider ist das eine Abhängigkeit von der OpenSource Bibliothek SharpDevelopCodeCompletion. Dort wird ein Behavior verwendet, das man an das AvalonEdit Control ran hängen kann.

Ich sehs grad auch, dass die Dll fehlt. Hätte eigentlich gedacht, dass die mit bei den Nuget Packeten mit drin liegt. Scheinbar ist die bei mir durch VS 2012 oder Win8 automatisch schon drauf.

Hier ein Link zu einem Kompilat mit allen Abhängigkeiten

Gruß
Roland

U
4 Beiträge seit 2012
vor 11 Jahren

Ähhm...

Da fehlt in der Form iwie die TextBox :

B
Blacal Themenstarter:in
387 Beiträge seit 2005
vor 11 Jahren

Hi urk0n,

habe das Problem gerade gefixt, die Links oben enthalten jetzt die neue Version.

.. wirgendwie komisch. Die Textbox in deinem Screenshot ist nicht weg, sondern die Menüleiste oben klaut sich den gesamten Platz. Unter Windows 8 passiert das nicht, aber auf meinen Windows 7 Laptop konnte ich das nachstellen.

Gruß
Roland

J
641 Beiträge seit 2007
vor 11 Jahren

Sowas hab ich auch schon mal gemacht, allerdings nicht als script editor, sondern als normaler dateieditor, dafür mit features wie suchen ersetzten, dateiverfolgung (a la baretail), highlighting von zeilen, etc... Kann den source auch gerne mal reinstellen vieleicht kannst du ja noch was einbauen.

Für suchen ersetzten habe ich folgendes projekt verwendet: A Universal WPF Find / Replace Dialog

cSharp Projekte : https://github.com/jogibear9988

U
4 Beiträge seit 2012
vor 11 Jahren

Wäre jetzt noch cool, wenn man Scripte abspeichern und öffnen kann 😉

Und vlt kannst du ja in der Main Methode ein Application.EnableVisualStyles() ergänzen.

B
Blacal Themenstarter:in
387 Beiträge seit 2005
vor 11 Jahren

Hi urk0n,

wär ne Idee, das Teil noch etwas auszubauen.
So wie es jetzt ist war es eigntlich nur zum Experimentieren gedacht. In der Arbeit haben wir sowas ähnliches gemacht, nur auf Basis der alten SharpDevelop-Libraries. Das hier in diesem Post basiert zu 100% auf WPF (daher bringt auch Application.EnableVisualStyles() nichts). Mal ungeachtet der fehlenden Features ist diese Komponente hier als Vorlage für jeden zu sehen, der auch so etwas ähnliches nachbauen möchte.

Abgesehen der von dir genannten Punkte gibt es noch ne ganze Latte, die man machen könnte. Z. B. *Icons für die Elemente innerhalb der Intellisense 😉 *Laden, Speichern, ... (das ganze Zeugs halt) *Anzeige von Compilerfehler und -Warnungen *Ein vernünftiger Assembly-Dialog zum hinzufügen von neuen Abhängigkeiten *Suchen und Ersetzen wie von jogibear9988 vorgeschlagen (super Hinweis übrigens!) *Und und und...

Aber so viel Zeit wollt ich darin erst mal noch nicht rein stecken. Bestünde da konkretes Interesse?

Gruß
Roland

U
4 Beiträge seit 2012
vor 11 Jahren

Bei mir würde auf jeden Fall konkretes Interesse bestehen, da ich eine kleine C# IDLE für unterwegs sehr gut gebrauchen könnte und SharpDevelop häufig rumzickt und viel Speicherplatz verbraucht.

B
Blacal Themenstarter:in
387 Beiträge seit 2005
vor 11 Jahren

wenn es dir nur darum geht, dann schau dir am besten das LINQPad an. Geht eigentlich genau in die Richtung, einzig die Intellisense ist kostenpflichtig.

Ansonsten würde ich eine Weiterentwicklung nicht als eigenständiges Snippet-Tool sehen, sondern als ScriptEditor, den man direkt in sein eigenes Programm integrieren kann. So in die Richtung von VBA oder sowas..

Gruß
Roland

Gelöschter Account
vor 11 Jahren

Ansonsten würde ich eine Weiterentwicklung nicht als eigenständiges Snippet-Tool sehen, sondern als ScriptEditor, den man direkt in sein eigenes Programm integrieren kann. So in die Richtung von VBA oder sowas..

Full Ack. Ich sehe die Möglichkeit Programme die eine Plugin Architektur haben in die Lage zu versetzen sein eigenes Plugin innerhalb des Programms zu schreiben. Wahnsinn 😃 Siehst du denn die Möglichkeit ein UserControl zu schreiben das möglicherweise auch in WindowsForms Projekten Verwendung finden kann?