我有一堆F#腳本(fsx),用於我的基本部署需求。我只需右鍵單擊它們並說「使用F#交互式運行」如何在運行後保持fsi.exe打開
但是,有時腳本會失敗,我希望保持交互式控制檯運行。到目前爲止,我還沒有想出一個很好的方法來實現這一目標。
我試着手動啓動fsi.exe,但是我怎麼能從那裏啓動我的腳本?
我有一堆F#腳本(fsx),用於我的基本部署需求。我只需右鍵單擊它們並說「使用F#交互式運行」如何在運行後保持fsi.exe打開
但是,有時腳本會失敗,我希望保持交互式控制檯運行。到目前爲止,我還沒有想出一個很好的方法來實現這一目標。
我試着手動啓動fsi.exe,但是我怎麼能從那裏啓動我的腳本?
如果您足夠的黑客,您可能需要添加類似於Run with F# Interactive
的另一個資源管理器上下文菜單項,但在.fsx
腳本終止後保持控制檯窗口打開。下面是如何實現這一針對windows7/VS2012的工作大綱:
regedit
並找到鑰匙HKEY_CLASSES_ROOT\VisualStudio.fsx.11.0\shell
openRunCmd
,使(Default)
值這個關鍵不管你喜歡在上下文菜單中看到,也許Run with Fsi in shell
最後,添加子項HKEY_CLASSES_ROOT\VisualStudio.fsx.11.0\shell\openRunCmd\command
和這個子項下面的行設置(Default)
值:
c:\windows\system32\cmd.exe /Q /K %%USERPROFILE%%\fsx.bat "%1"
現在,接近regedit
,去你的主目錄,並與下面的行創建有一個批處理文件fsx.bat
:
"C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0\Fsi.exe" --quiet --exec "%1"
這些MODS後,你將能夠點擊任何.fsx
用鼠標右鍵單擊腳本,選擇Run with Fsi in shell
,並在腳本終止後保留shell窗口,直到關閉它。只需少量調整,相同的方法將適用於VS2010。
如果您的系統設置與上述不同,請注意調整細節。祝你好運!
更新:對於那些想在家中或在工作中嘗試此操作的人,我已發佈詳細的步驟here。
#load "myScipt.fsx";;
應該工作我認爲。但我自己我更喜歡只有單獨的控制檯窗口(cmd.exe),從中我可以運行fsi myScipt.fsx
並查看輸出。
我創建了一個Windows快捷方式與
目標:
cmd /k "C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0\Fsi.exe" deploy.fsx
開始在:
C:\FolderContaningFsxScript
這樣可以使窗口打開,如果腳本失敗,這樣我就可以看到任何編譯錯誤。如果腳本運行成功,它也會保持窗口打開,這可能會或可能不合意。
我發現只需單擊快捷鍵而不是右鍵單擊>使用F#Interactive運行它更容易。我認爲使用上述命令的批處理文件也可以工作。
哇!這聽起來非常棒。將盡快嘗試(可能在星期一) – Christoph 2012-07-06 22:00:18
我已經添加了一個鏈接到我的答案與詳細的演練。 – 2012-07-06 22:49:49
感謝您爲此付出的努力。我會加倍upvote,如果我可以:) – Christoph 2012-07-07 20:24:44