2012-06-11 36 views
23

F#具有REPL(讀取評估打印循環)F#Interactive,C:\Program Files (x86)\Microsoft F#\v4.0\Fsi.exeVisual Studio以外的C#REPL

我知道C#現在有自己的交互式REPL,與Roslyn一起發佈。如何在Visual Studio外部打開? csi.exe在哪裏?

+0

我認爲這是一個樣本...至少,Anders在網上提供的第一個Roslyn演示文稿中創建了一個基於控制檯的REPL。如果您可以找到演示文稿,代碼非常簡單,您可以基於此輕鬆編寫代碼。 –

+0

現在有一個:),你可以通過我的回答下面看到 –

回答

10

C#互動窗口和csi.exe REPL添加到的Visual Studio 2015年更新1(重點煤礦):

引入互動

交互式窗口又回來了!C#的互動窗口在Visual Studio 2015年更新1返回與一對夫婦的其他互動零食一起:

  • C#互動。 C#交互式窗口本質上是一個讀取評估打印循環(REPL),它允許您利用.NET技術進行演示和探索,同時利用IntelliSense,語法着色等編輯器功能。瞭解更多關於如何使用C#在第9頻道上互動或閱讀我們的初學者漫遊。

  • csi。如果您不想打開Visual Studio以使用C#或運行腳本文件,則可以從開發人員命令提示符訪問交互式引擎。鍵入csi /path/myScript.csx執行腳本文件或鍵入csi將放入命令行REPL中。

  • 腳本API。腳本API使您能夠在主機創建的執行環境中執行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

我創建了你所要求的,一個基於Roslyn的REPL在VisualStudio之外運行。

您可以從PoC - Roslyn C# ScriptEngine Execute v1.0.exe下載它,它是一個獨立的exe文件,包含所有Roslyn程序集作爲嵌入式資源。又見Video: Using O2's Roslyn-based C# REPL Script environment

請注意,我已經開發了O2 Platform一個更強大的C#REPL,你可以看到從C# REPL Script Environment

下載在羅斯林的話題,下面是我創造了多項other stand-alone tools

請注意,所有這些工具和O2平臺都是在undefined r開放源代碼許可證,所以請隨意擴大並使它們更好:)

+1

文件不可用。 – ismail

+0

是的,Dropbox是荒謬的(他們阻止所有的下載,更糟的是所有都不告訴我哪些文件是問題:() –

+0

好吧,我終於找到了一個地方再次放置這些文件,他們現在在bintray 。請看看https://bintray.com/o2-platform/O2-Tools/Roslyn,讓我知道它是否正常工作 –

2

它可能不是一個替代品,但我主要使用RoslynPad快速的研究和試驗。我也使用Linqpad。 根據他們的網站https://roslynpad.net/,RoslynPad是「基於Roslyn的簡單C#編輯器」。你可以編寫小腳本,你可以看到變量值,你也可以保存它們。