5

基本的な展開のニーズに使用する一連の F# スクリプト (fsx) があります。それらを右クリックして、「F#インタラクティブで実行」と言うだけです

ただし、スクリプトが失敗する場合があり、インタラクティブ コンソールを実行し続けたいと考えています。これまでのところ、それを達成するための良い方法を見つけていません。

fsi.exe を手動で起動しようとしましたが、そこからスクリプトを起動するにはどうすればよいですか?

4

3 に答える 3

9

ハック好きなら、 に似たエクスプローラーのコンテキスト メニュー項目をもう 1 つ追加し、スクリプトの終了Run with F# Interactive後もコンソール ウィンドウを開いたままにしておくことをお勧めします。.fsxWindows7/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"

.fsxこれらの変更後、マウスの右ボタンで任意のスクリプトをクリックして選択Run with Fsi in shellし、スクリプトの終了後もシェル ウィンドウを閉じるまでそのままにしておくことができます。わずかな調整を行うだけで、VS2010 でも同じアプローチが機能します。

システム設定が上記のものと異なる場合は、詳細を調整するように注意してください。幸運を!

更新: 自宅または職場でこれを試してみたい人のために、詳細なウォークスルーをここに投稿しました。

于 2012-07-06T19:25:07.763 に答える
3
#load "myScipt.fsx";;

動作するはずです。しかし、私は別のコンソール ウィンドウ (cmd.exe) を用意して、そこから実行fsi myScipt.fsxして出力を確認することを好みます。

于 2012-07-06T13:46:34.203 に答える