scripting - 我可以在 Visual Studio 中运行 fsx 文件而不设置项目吗?

标签 scripting f# f#-interactive

我想使用 F# 来执行一些非常基本的任务,而我以前使用的是批处理文件。我可以将 fsx 文件与 fsi.exe 关联起来,只需双击它们即可运行它。到目前为止这很棒。

但是,有时我可能想更深入地研究代码并进行调试。当我在 Visual Studio 中打开 fsx 文件时,我无法运行它,也无法选择行并使用“发送到交互”。

在我看来,这些命令只有在您设置完整的 F# 项目时才有效。这似乎很麻烦(作为批处理文件替换)。我想知道哪种方法是正确的?我想吃我的蛋糕!我想要一个可以快速更改的简单文件,但我也希望能够根据需要使用 Visual Studio 进行分析。

更新 我刚刚发现您可以在“View\Other Windows\F# Interactive”中打开交互式控制台,然后您就可以使用“发送到交互式”命令。

不过,我仍然缺乏运行代码和设置断点的能力..

最佳答案

正如您已经发现的,您无需创建项目即可使用 F# Interactive 控制台。

我相信,当您使用 F# 进行交互式开发(或脚本编写)时,诸如调试之类的功能就不那么重要了,因为您只需向 FSI 发送单独的命令就可以轻松地逐步评估代码以分析其行为。所以我觉得不需要经常在 F# Interactive 中进行调试。

虽然这并不是真正受支持的功能,但您可以在仅使用 F# Interactive 时调试脚本文件中的代码。诀窍是将调试器附加到在 F# Interactive 后面运行的 fsi.exe 进程。

只需转到“调试”->“附加到进程”,然后选择“fsi.exe”。然后,您应该能够在 fsx 脚本文件中放置制动点,并且 F# Interactive 中运行的代码将会中断。正如我所说,这并没有得到真正的支持,但它通常适用于函数中的代码。我发现这并不经常有用,但偶尔可能有用。

关于scripting - 我可以在 Visual Studio 中运行 fsx 文件而不设置项目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9336353/

相关文章:

f# - 为什么在 F# Interactive 中打印 5000 个数字会导致 StackOverflowException?

f# 元组 item1 的 Seq

linux - 从 shell 脚本调用 erlang 文件的函数

ajax - ASP.NET MVC 中 MicrosoftAjax.js 的脚本全局化怎么样?

linux - 使用 bash 编辑文本文件并显示输出

f# - 如何在 F# 中为绘图卡建模

c# - System.Numerics.dll 中的 BigInteger 类型和 FSharp.Core.dll 中的 BigInteger 类型有什么区别?

sql - 我可以在脚本或存储过程中创建一次性函数吗?

f# - 在F#中,如果表达式匹配模式,则返回true?

f# - 在 vscode 终端中粘贴时的字符/行数限制