我有一堆 F# 脚本 (fsx),可用于满足基本部署需求。我只需右键单击它们并说“使用 F# 交互式运行”
但是,有时脚本会失败,我希望保持交互式控制台运行。到目前为止,我还没有想出一个很好的方法来实现这一目标。
我尝试手动启动 fsi.exe,但如何从那里启动我的脚本?
最佳答案
如果您足够黑客,您可能只想添加另一个类似于 Run with F# Interactive
的资源管理器上下文菜单项。 ,但在 .fsx
之后保持控制台窗口打开脚本终止。以下是如何在 Windows7/VS2012 上实现此目标的工作大纲:
regedit
并找到 key 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
并让 shell 窗口在脚本终止后停留,直到您关闭它。只需稍作调整,同样的方法也适用于 VS2010。如果您的系统设置与上述不同,请注意调整细节。祝你好运!
更新 :对于那些想在家里或工作中尝试的人,我已经发布了详细的演练 here .
关于f# - 运行后如何保持fsi.exe打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11363002/