IronPython - Editor für Endbenutzer

9

Wir untersuchen derzeit, wie wir IronPython (Scripting) in unsere C # -Anwendung einbetten können.

Wir sehen die Vorteile, die es unseren Endbenutzern bietet, indem sie ihnen die Möglichkeit geben, sich in unsere Anwendung einzuklinken. Aber eine Frage, die immer wieder auftaucht, ist, wie wir dem Endbenutzer Code-Editierfähigkeiten zur Verfügung stellen, die den unterschiedlichen Eintrag kennen Kontexte in unserer Anwendung.

Ich weiß, dass wir einen einfachen Texteditor mit Syntaxhervorhebung anbieten können, aber wie gehen wir noch einen Schritt weiter und erlauben einem Benutzer, ihre Skripte gegen Objekte zu testen, die wir aus unserer Anwendung enthüllen. Beachten Sie, dass wir abhängig vom Kontext des Einstiegspunktes unterschiedliche Objekte verfügbar machen werden.

Wie können Endbenutzer Skripts in Ihrer Anwendung testen, schreiben und bearbeiten?

PS - Ich bin neu hier, also lass es mich wissen, wenn ich das nicht richtig mache !!!

    
paligap 25.10.2011, 22:06
quelle

2 Antworten

2

Vielleicht möchten Sie die Visual Studio 2010-Shell isoliert verwenden. Es kann verwendet werden, um eine visuelle Studioumgebung in einer Anwendung bereitzustellen, so wie VBA es früher war. Soweit Python unterstützt wurde, können Sie sich IPyIsolatedShell

ansehen     
ja72 26.10.2011 13:42
quelle
1

Sie könnten IronPython in Ihrer C # -Anwendung hosten. Dann können Sie Variablen aus Ihrer C # -Anwendung übergeben und IronPython-Code ausführen, der sie verwendet. Dino Viehland redete bei PDC darüber Dynamische Sprachen zum Erstellen von skriptfähigen Anwendungen . Dino machte den Quellcode für die Anwendung, die er am PDC erstellt hat, aber es verwendet eine ältere Version von IronPython.

Hier ist ein Code für IronPython 2.7.1, der Ihnen zeigt, wie Sie IronPython in ein paar Codezeilen hosten können.

%Vor%

Der obige Code übergibt ein Anwendungsobjekt namens MyApplication über einen Skriptbereich an IronPython und legt seinen Variablennamen auf app fest. Diese app -Variable steht dann dem IronPython-Code zur Verfügung, wo er Methoden, Eigenschaften usw. aufrufen kann.

Die letzte Methode im obigen Code ist die RunPythonCode-Methode, die den vom Benutzer geschriebenen IronPython-Code aufnimmt und ausführt.

Darüber hinaus zu gehen und es dem Benutzer zu ermöglichen, ihren IronPython-Code auf ähnliche Weise zu debuggen, wie Sie VBA-Makros debuggen können, ist jedoch ein wichtiger Entwicklungsschritt.

    
Matt Ward 30.10.2011 19:10
quelle