C# REPL вне Visual Studio
F# имеет цикл REPL (read–eval–print) F# Interactive,C:Program Files (x86)Microsoft F#v4.0Fsi.exe
.
Я понимаю, что C# теперь имеет свой собственный интерактивный REPL, выпущенный с Рослин. Как открыть вне Visual Studio? Где csi.exe
?
6 ответов
C# Interactive и csi.exe REPL были добавлены в Обновление Visual Studio 2015 1 (выделено мной):
Представляем Interactive
интерактивное окно возвращается! Интерактивное окно C# возвращается в Visual Studio 2015 Update 1 вместе с несколькими другими интерактивными обработками:
C# Interactive. Интерактивное окно C# по существу является read-eval-print-loop (REPL), который позволяет вам играть и исследовать с технологиями .NET, используя такие функции редактора, как IntelliSense, синтаксис-раскраска и т. д. Узнайте больше об использовании C# Interactive на канале 9 или прочтите пошаговое руководство для начинающих.
csi. Если вы не хотите открывать Visual Studio для воспроизведения с C# или запускать файл сценария, вы можете получить доступ к интерактивному движку из команды разработчика Быстрый. Тип
csi /path/myScript.csx
для выполнения файла сценария или введите простоcsi
чтобы попасть внутрь командной строки REPL.API Сценариев. API сценариев дают возможность выполнять фрагменты кода C# в среде выполнения, созданной хостом. Вы можете узнать больше о том, как создать свой собственный движок скриптов C#, проверив наши образцы кода.
посмотреть что нового в Visual Studio 2015 обновление 1 для управляемых языков .NET.
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 }
Я создал именно то, что вы просите, на основе Roslyn REPL работает вне VisualStudio.
вы можете скачать его с PoC-Roslyn C# ScriptEngine выполнить v1.0.exe который является автономным exe, содержащим все сборки Roslyn в качестве встроенных ресурсов. См. также видео: Использование среды сценариев на основе O2 Roslyn C# REPL
обратите внимание, что я разработал более мощный C# REPL для Платформа O2, который вы можете увидеть и скачать с среда сценариев C# REPL
на тему Рослин, вот несколько другие автономные инструменты что я создал:
- Util-просмотр Roslyn AST Graph v1.0.exe - приятно видеть дерево AST, созданное Roslyn
- util - Exe Creator (используя компилятор Roslyn v1.0.exe - хороший инструмент для создания автономных exes
- Util-Roslyn-Решение Для Компиляции и просмотр ошибок v1.0.exe - компиляция целых решений
- Util-Roslyn-OnSave решение для компиляции (с REPL) v1.0.exe - добавляет REPL для объектов Roslyn
- PoC - Roslyn рефактор на InitializerExpressions v1.0.exe - показывает пример рефакторинга
- Util-Roslyn AST рефакторинг через REPL Script v1.0.exe - gui для разработки сценариев рефакторинга
- Util-Roslyn Cat.Net- Компиляция и сканирование решения v1.0.exe - показывает интеграцию компиляции кода и сканирования безопасности (Cat.NET будет загружаться при первом запуске этого инструмента)
обратите внимание, что все эти инструменты и платформа O2 выпущены под лицензией с открытым исходным кодом, поэтому, пожалуйста, не стесняйтесь расширять и улучшать их:)
единственный исполняемый файл, который я нашел, это C:\Program Files (x86)\Microsoft Codename Roslyn CTP\Binaries\rcsi.exe
, которые могут выполнить .csx
файлы. Но он, похоже, на самом деле не поддерживает REPL.
Как насчет скриптов:http://scriptcs.net/?
есть REPL, и вы даже получаете силу NuGet.
Это не может быть заменой, но я в основном использую RoslynPad для быстрого исследования и тестирования. Я также использовал Linqpad. RoslynPad - "простой редактор C#, основанный на Roslyn", согласно их веб-сайту https://roslynpad.net/. Вы можете писать небольшие скрипты и видеть значения переменных, а также сохранять их.
Anders Hejlsberg строит цикл C# REPL в этом видео, 65 минут в:
http://channel9.msdn.com/Events/PDC/PDC08/TL16#time=65m00s
Это гораздо более старая версия Roslyn, но те же идеи применяются (и eval! ;).