Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
C#-Scripteditor-Control basierend auf Komponenten von SharpDevelop
Blacal
myCSharp.de - Member



Dabei seit:
Beiträge: 392

Themenstarter:

C#-Scripteditor-Control basierend auf Komponenten von SharpDevelop

beantworten | zitieren | melden

Moderationshinweis von herbivore (07.10.2012 - 15:17:20):

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


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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Blacal am .
Attachments
private Nachricht | Beiträge des Benutzers
user8744
myCSharp.de - Member



Dabei seit:
Beiträge: 1201

beantworten | zitieren | melden

[offtopic] Ist es möglich eine Version anzubieten für Leute die noch VS2010 verwenden? [/offtopic]
private Nachricht | Beiträge des Benutzers
Blacal
myCSharp.de - Member



Dabei seit:
Beiträge: 392

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
urk0n
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

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 ;)
private Nachricht | Beiträge des Benutzers
user8744
myCSharp.de - Member



Dabei seit:
Beiträge: 1201

beantworten | zitieren | melden

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?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von user8744 am .
private Nachricht | Beiträge des Benutzers
Blacal
myCSharp.de - Member



Dabei seit:
Beiträge: 392

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
urk0n
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

Ähhm...

Da fehlt in der Form iwie die TextBox :
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von urk0n am .
Attachments
private Nachricht | Beiträge des Benutzers
Blacal
myCSharp.de - Member



Dabei seit:
Beiträge: 392

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
jogibear9988
myCSharp.de - Member



Dabei seit:
Beiträge: 589
Herkunft: Offenau

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
urk0n
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Blacal
myCSharp.de - Member



Dabei seit:
Beiträge: 392

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
urk0n
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Blacal
myCSharp.de - Member



Dabei seit:
Beiträge: 392

Themenstarter:

beantworten | zitieren | melden

[offtopic]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.[/offtopic]

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
private Nachricht | Beiträge des Benutzers
user8744
myCSharp.de - Member



Dabei seit:
Beiträge: 1201

beantworten | zitieren | melden

Zitat
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?
private Nachricht | Beiträge des Benutzers