c# - setup - visual studio instalador
C#REPL fuera de Visual Studio (6)
F # tiene un REPL (read – eval – print loop) F # Interactive, C:/Program Files (x86)/Microsoft F#/v4.0/Fsi.exe
.
Entiendo que C # ahora tiene su propio REPL interactivo, como se publicó con Roslyn . ¿Cómo abro fuera de Visual Studio? ¿Dónde está csi.exe
?
¿Qué tal scriptcs: http://scriptcs.net/ ?
Hay un REPL e incluso obtienes el poder de NuGet.
Anders Hejlsberg crea un bucle C # REPL en este video, 65 minutos en:
http://channel9.msdn.com/Events/PDC/PDC08/TL16#time=65m00s
Es una versión mucho más antigua de Roslyn, pero se aplican las mismas ideas (y eval!;).
Creé exactamente lo que estás pidiendo, un REPL basado en Roslyn que se ejecuta fuera de VisualStudio.
Puede descargarlo desde PoC - Roslyn C # ScriptEngine Execute v1.0.exe, que es un archivo ejecutable independiente que contiene todos los ensamblajes de Roslyn como recursos incrustados. Vea también el video: Uso del entorno de script C # REPL basado en Roslyn de O2
Tenga en cuenta que he desarrollado un C # REPL más potente para la plataforma O2 , que puede ver y descargar desde el entorno de script C # REPL.
Sobre el tema de Roslyn, aquí hay una serie de otras herramientas independientes que creé:
- Util - Ver Roslyn AST Graph v1.0.exe - es bueno ver el árbol AST creado por Roslyn
- Util - Exe Creator (usando Roslyn Compiler v1.0.exe - Una buena herramienta para crear exos independientes)
- Util - Roslyn - Compile Solution y vea los errores v1.0.exe - Compile las soluciones completas
- Util - Roslyn - OnSave Compile Solution (con REPL) v1.0.exe - agrega un REPL para los objetos de Roslyn
- PoC - Roslyn refactor en InitializerExpressions v1.0.exe - muestra un ejemplo de refactorización
- Util - Roslyn AST Refactoring a través de REPL Script v1.0.exe - gui para desarrollar scripts de refactorización
- Util - Roslyn Cat.Net- Compile and Scan Solution v1.0.exe - muestra integración de compilación de códigos y escaneo de seguridad (Cat.NET se descargará la primera vez que se ejecute esta herramienta)
Tenga en cuenta que todas estas herramientas y la plataforma O2 se lanzan bajo una licencia de código abierto, así que no dude en expandirse y mejorarlas :)
El único ejecutable que encontré es C:/Program Files (x86)/Microsoft Codename Roslyn CTP/Binaries/rcsi.exe
, que puede ejecutar archivos .csx
. Pero no parece realmente apoyar REPL.
Puede que no sea un sustituto, pero principalmente uso RoslynPad para una investigación y prueba rápidas. También he usado Linqpad. RoslynPad es "Un simple editor de C # basado en Roslyn" según su sitio web https://roslynpad.net/ . Puede escribir pequeños scripts y ver valores de variables y también puede guardarlos.
La ventana interactiva de C # y csi.exe REPL se agregaron a la Actualización 1 de Visual Studio 2015 (el énfasis es mío):
Introducción interactiva
La ventana interactiva está de vuelta! La ventana interactiva de C # regresa en la actualización 1 de Visual Studio 2015 junto con un par de otras delicias interactivas:
C # interactivo . La ventana interactiva de C # es esencialmente un ciclo de lectura-evaluación-impresión (REPL) que te permite jugar y explorar con tecnologías .NET mientras aprovechas las funciones del editor como IntelliSense, color de sintaxis, etc. Más información sobre cómo usar C # Interactivo en el Canal 9 o leyendo nuestro tutorial para principiantes.
csi Si no desea abrir Visual Studio para jugar con C # o ejecutar un archivo de script, puede acceder al motor interactivo desde la línea de comandos del desarrollador. Escriba
csi /path/myScript.csx
para ejecutar un archivo de script o escriba simplementecsi
para colocar dentro de la línea de comandos REPL.APIs de scripting . Las API de secuencias de comandos le ofrecen la posibilidad de ejecutar fragmentos de código C # en un entorno de ejecución creado por el host. Puede obtener más información sobre cómo crear su propio motor de secuencia de comandos de C # consultando nuestros ejemplos de código.
Vea Novedades en la Actualización 1 de Visual Studio 2015 para .NET Managed Languages .
https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx
>csi
Microsoft (R) Visual C# Interactive Compiler version 1.1.0.51109
Copyright (C) Microsoft Corporation. All rights reserved.
Type "#help" for more information.
> #help
Keyboard shortcuts:
Enter If the current submission appears to be complete, evaluate it. Otherwise, insert a new line.
Escape Clear the current submission.
UpArrow Replace the current submission with a previous submission.
DownArrow Replace the current submission with a subsequent submission (after having previously navigated backwards).
REPL commands:
#help Display help on available commands and key bindings.
Script directives:
#r Add a metadata reference to specified assembly and all its dependencies, e.g. #r "myLib.dll".
#load Load specified script file and execute it, e.g. #load "myScript.csx".
>
> Enumerable.Range(10)
(1,12): error CS7036: There is no argument given that corresponds to the required formal parameter ''count'' of ''Enumerable.Range(int, int)''
> Enumerable.Range(1, 10)
RangeIterator { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }