2012-06-11 2 views
23

F # имеет REPL (цикл чтения-eval-печати) F # Interactive, C:\Program Files (x86)\Microsoft F#\v4.0\Fsi.exe.C# REPL за пределами Visual Studio

Я понимаю, что C# теперь имеет свой собственный интерактивный REPL, как выпущено Roslyn. Как открыть внешнюю среду Visual Studio? Где csi.exe?

+0

Я думал, что это был один из образцов ... по крайней мере, Андерс создал консольный REPL в самой первой презентации Roslyn, доступной в Интернете. Если вы можете найти презентацию, код очень прост, вы можете легко написать его на основе этого. –

+0

Есть один сейчас :), как вы можете видеть по моему ответу ниже –

ответ

10

C# Interactive окно и csi.exe РЕПЛ были добавлены Visual Studio 2015 Update 1 (курсив мой):

Вводя Interactive

Интерактивное окно возвращается!Интерактивное окно C возвращается в Visual Studio 2015 Update 1 наряду с парой других интерактивных угощения:

  • C# Interactive. Окно C# Interactive - это, по сути, цикл read-eval-print-loop (REPL), который позволяет вам играть и исследовать с помощью технологий .NET, используя преимущества таких функций редактора, как IntelliSense, синтаксис-раскраска и т. Д. Узнайте больше о том, как использовать C# Интерактивный канал 9 или читая прохождение нашего новичка.

  • csi. Если вы не хотите открывать Visual Studio для игры с C# или запускать файл сценария, вы можете получить доступ к интерактивному движку из командной строки Developer. Введитеcsi /path/myScript.csx, чтобы выполнить файл сценария или введите простоcsi, чтобы удалить внутри командной строки REPL.

  • API-интерфейсы для написания сценариев. API-интерфейсы Scripting дают вам возможность выполнять фрагменты кода C# в среде выполнения, созданной хостом. Вы можете узнать больше о том, как создать собственный скриптовый движок C#, проверив наши образцы кода.

См What’s New in Visual Studio 2015 Update 1 for .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 } 
+0

Блестящий, позвольте мне попробовать –

6

Единственный исполняемый файл, который я нашел, - C:\Program Files (x86)\Microsoft Codename Roslyn CTP\Binaries\rcsi.exe, который может выполнять файлы .csx. Но, похоже, он не поддерживает REPL.

+0

То же самое для меня (новый CTP) только 'C: \ Program Files (x86) \ Microsoft Roslyn CTP \ Binaries \ rcsi.exe' –

14

Я создал именно то, что вы просите, REPL на основе Roslyn, работающий вне VisualStudio.

Вы можете скачать его с PoC - Roslyn C# ScriptEngine Execute v1.0.exe, который является автономным exe, содержащим все сборки Roslyn в качестве встроенных ресурсов. Смотрите также Video: Using O2's Roslyn-based C# REPL Script environment

Обратите внимание, что я разработал более мощный C# REPL для O2 Platform, который вы можете увидеть и скачать с C# REPL Script Environment

На тему Рослин, вот несколько other stand-alone tools, что я создал:

Обратите внимание, что все эти инструменты и платформа O2 освобождены r лицензия с открытым исходным кодом, поэтому, пожалуйста, не стесняйтесь расширять и улучшать их :)

+1

Файлы больше не доступны. – ismail

+0

Да, Dropbox смешно (они блокируют все загрузки, и хуже всего не говорят мне, какие файлы являются проблемой :() –

+0

ОК, я наконец нашел место, где можно было снова разместить эти файлы. Они теперь в bintray Пожалуйста, взгляните на https://bintray.com/o2-platform/O2-Tools/Roslyn и дайте мне знать, если он работает нормально –

3

Как насчет скриптов: http://scriptcs.net/?

Существует REPL, и вы даже получаете мощность NuGet.

2

Это не может быть заменой, но я в основном использую RoslynPad для быстрого исследования и испытания. Я также использовал Linqpad. RoslynPad - это простой редактор C#, основанный на Roslyn, согласно их веб-сайту https://roslynpad.net/. Вы можете писать небольшие скрипты, и вы можете видеть значения переменных, и вы также можете их сохранить.

 Смежные вопросы

  • Нет связанных вопросов^_^