Frage

Ich frage mich, ob es so etwas wie eine eigenständige Version von Visual Studios „Immediate Window“ ist? Manchmal nur testen ich ein paar einfache Sachen will, wie „DateTime.Parse (“ blah „)“, um zu sehen, ob das funktioniert. Aber jedes Mal muss ich eine neue Konsole-Anwendung erstellen, setzen Sie in meinem Code und testen Sie es.

Die Direkt-Fenster leider nur funktionieren, wenn ich etwas debuggen. Könnte Powershell tun? Öffnen Sie einfach ein CLI ähnlich wie cmd.exe funktioniert, so dass ich einige C # -Code auszuführen?

War es hilfreich?

Lösung

LINQPad - Ich benutze es wie dies die ganze Zeit. http://www.linqpad.net/

Sie sich nicht vom Namen täuschen lassen -., Die nur die ursprüngliche Motivation für die es beschreibt, nicht seine Funktionalität

Erst kürzlich veröffentlichte er eine Version mit der richtigen Aussage Abschluss - das ist eine aufladbare Add-ons (der Kern-Tool ist kostenlos), aber eine winzige Menge Geld und es lohnt sich, ich denke

.

Andere Tipps

Das Mono-Projekt eine interaktive C # Schale enthält, kann dies genau das, was Sie suchen.

http://www.mono-project.com/CsharpRepl

C # Interactive Fenster und csi.exe wurden REPL hinzugefügt Visual Studio 2015 Update 1 :

  

Einführung in Interactive

     

Das Interactive Window ist wieder da! Die C # Interactive Window kehrt in Visual Studio 2015 Update 1 zusammen mit ein paar anderen interaktiven behandelt:

     
      
  • C # Interactive . Das C # Interactive Fenster ist im Wesentlichen eine Lese-eval-print-Schleife (REPL), die Sie mit .NET-Technologien spielen und erkunden können, während die Vorteile von Editor-Funktionen wie IntelliSense nehmen, Syntax-Einfärbung etc. Erfahren Sie mehr über, wie C # zu verwenden, Interactive auf Channel 9 oder von unserem Anfängerdurchlauf zu lesen.

  •   
  • csi . Wenn Sie möchten, mit C # nicht öffnen Visual Studio zu spielen, um oder eine Skriptdatei ausführen, können Sie den interaktiven Motor aus der Entwickler-Eingabeaufforderung zugreifen. Typ csi /path/myScript.csx eine Skriptdatei ausführen oder einfach Typen csi in der Befehlszeile REPL fallen zu lassen.

  •   
  • Scripting-APIs . Das Scripting-APIs gibt Ihnen die Möglichkeit Schnipsel von C # -Code in einer Host erstellten Ausführungsumgebung auszuführen. Sie können mehr darüber erfahren, wie Sie Ihre eigene C # Script-Engine erstellen, indem Sie unsere Code-Beispiele heraus überprüfen.

  •   

Siehe Neues in Visual Studio 2015 Update 1 für .NET Managed Sprachen .

Im Grunde genommen jetzt Sie haben:

  • IDE REPL - C # Interactive Fenster in VS
  • Skript-Interpreter - csi foo.csx von Dev Cmd Prompt
  • Command line REPL - csi von Dev Cmd Prompt
  • Scripting API

Versuchen Sie scriptcs , ist es nicht in die VS IDE integriert aber es können Sie eingeben und ausführen C # in einem Skript-Fenster, ohne die Notwendigkeit für ein Projekt Compiler etc ...

Nun, dies ist nicht eine direkte Antwort auf Ihre Frage, aber Sie in diesem Tool aussehen:

Auch wenn Sie die IL erzeugt, oder ähnlich sehen wollen, gibt es ein Werkzeug, das in Reflector , genannt Snippy , bezogen auf das Snippy-Tool, das Jon in seiner eigenen Antwort erwähnt weiter nach unten.

Alle diese sind sehr nett zu benutzen.

Wie Sie vorschlagen, können Powershell tun, was Sie wollen. Zum Beispiel Ihre DateTime.Parse zu testen, wird das folgende Motto der Trick:

PS C: \ Dokumente und Einstellungen \ Dan> [System.DateTime] :: Parse ( "Blah")
Exception „Parse“ mit „1“ Argument Aufruf (e): „Der String wurde nicht als gültige Datetime erkannt Es ist ein nicht bekannt. Wort bei Index beginnend 0.“ Bei Zeile: 1 Zeichen: 25 + [System.DateTime] :: Parse (<<<< "Blah")

PS C: \ Dokumente und Einstellungen \ Dan> [System.DateTime] :: Parse ( "1/2/3")

1. Februar 2003 00.00.00

Beachten Sie, dass das oben die aktuelle Version von Powershell (v1.0) verwendet. Die nächste Version von Powershell ermöglicht es Ihnen, C # mit Powershell-Skripts mehr direkt zu vermischen. Um Ihr Interesse zu geweckt hat, schauen Sie sich diese 7 Minuten Screencasts " C # Powershell " von Doug Finke . Sehr beeindruckend!

Wenn Sie Mono verwenden, gibt es diese:

CsharpRepl

Don Box gehackt etwas sehr einfach nach oben vor ein paar Jahren auch.

Nach dem Vorbild der lassevk Antwort, ich habe "Snippy" . Dies wurde für C # in Tiefe entwickelt, und die Benutzeroberfläche ist ziemlich Müll, aber es funktioniert -. Und läßt Sie schreiben zusätzliche Mitglieder (Methoden, verschachtelte Klassen, etc.) als auch, z

public static void Foo()
{ 
    Console.WriteLine("Hello");
}
...
Foo();

(Der ... verwendet wird Snippy zu sagen, "alles, was hier unter gehört in Main").

Wir haben gerade freigegeben CShell ein voll funktions # REPL IDE C. Es unterstützt Code-Vervollständigung, Script-Dateien, Hinzufügen Referenzen und ist wirklich erweiterbar. Auch planen wir NuGet Unterstützung bald hinzuzufügen, die es super schnell machen einige Code zu schreiben und sehen, wie es funktioniert.

http://cshell.net/

CShell Screenshot

Wir lieben LINQPad aber es hat keinen ERSATZ, wird der Code einmal ausgeführt und man kann nichts weiter mit den Ergebnissen tun, wenn Sie das Skript ändern, und das gesamte Skript erneut ausführen. Dies ist okey, aber manchmal, wenn Sie noch mehr wollen ein scripty Gefühl dann Ihren Code in einem REPL evalute ist wirklich schön und bequem.

Ich finde auch, dass SharpDevelop so schnell und leicht, dass es der einfachste Weg ist einen schnellen Test Projekt Peitsche aus.

Sie können der Objekttest nützlich finden. Es ist nicht sehr bekannt, aber können Sie Instanzen von Klassen erstellen, statische Methoden ausführen und so weiter. Es kann für die Entdeckung von Nutzen sein, wie ungewohnt APIs verwenden oder für die schnellen Debuggen Ihrer eigenen Klassen und Methoden, die Schaffung einer Testumgebung für die einfachen Kontrollen zu speichern.

Sie können die MSDN-Dokumentation finden Sie hier:

http://msdn.microsoft.com /en-us/library/c3775d98%28VS.80%29.aspx

Wenn Sie eine Weile warten könnten .. es sieht aus wie es für C # 4.0 ein C # -Äquivalent von Rubys irb in der Zeit sein könnte Anders H. zeigte eine interaktive Konsole-Sitzung, wo Sie beliebigen C # Code eingeben könnten und sehen Ergebnisse in seinem ‚ Zukunft von C # ‘Stück bei PDC 2008. Sie könnte sogar ein WPF-Fenster aus es Pop und dann mit ihm über die Konsole Schnittstelle spielen. Ziemlich cool.

Verwenden Sie LINQPad .

Name ungeachtet kann es jeden C # oder VB-Code, von einfachen Ausdrücken ganze Klassen auszuführen.

Plus, kann es gesamte Objektgraphen in den Ergebnissen sichtbar zu machen.

Sie können auch Verweise auf Ihre eigenen Baugruppen hinzuzufügen.

Versuchen Sie, die C # REPL Script Environment dh Teil der O2 Platform . Es ist genau das, was Sie fordern.

Es wird Ihnen eine perfekte Umgebung alle C # Funktionen und APIs auszuprobieren (konzeptionell die O2-ERSATZ-Umgebung ähnelt LINQPad)

Sie sollten auch einen Blick auf Roslyn von Microsoft nehmen. Auf (alle laufenden Ständer -Alone außerhalb Visual Studio) , die erste ist eine einfache Roslyn REPL

Wenn Sie geschehen, zu wissen, und wie Python, dann kann Ironpython eine gute Alternative sein. Es kommt mit einer (Python) ERSATZ Konsole (ipy.exe), wo Sie können alle von .NET-Typen importieren und verwenden.

Ich finde es nützlich für kleine Dinge erproben, genau wie DateTime.Parse("Blah").

Beachten Sie, dass es nicht wirklich C # Code ausführen, aber wenn alles, was Sie Zugriff auf .Net wollen, dann ist es perfekt. Auch, wenn Sie die Ironpython-Tools für VS installieren, können Sie eine REPL Sitzung direkt in VS starten nur eine Tastatur Abkürzung (Alt + I) und lassen Sie ihn in einem angedockten Fenster ausgeführt wird, wenn Sie es brauchen.

Update: http://avillenas.com/post/interactive-c

Nun, können Sie dies versuchen.

  1. Herunterladen und Installieren von dotnet.github.io
  2. Öffnen cmd
  3. Geben Sie "dotnet repl"
  4. Geben Sie, was Sie brauchen.

Ich tat, was Sie tun wollte. hier klicken, um die gif zu sehen

Die Roslyn Projektquellen enthalten eine REPL namens CSI ( http://source.roslyn.io /#csi/Csi.cs ). Die Csi Klasse wird derzeit intern aber mit dem dem „csi“ Projekt (Roslyn.sln: Interactive / Hosts / csi) eine ausführbare Konsole-Anwendung zur Verfügung, die E unterstützt. G. der Befehl #r eine Baugruppe und #LOAD zu laden und auszuführen Skriptdateien (starten Sie den csi und verwenden #help) zu laden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top