问题标签 [fsi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
f# - F#忽略缺失忽略
我经常以交互方式使用 F#。我在 Visual Studio 的脚本文件中键入语句,然后Alt + Enter
在 F# Interactive 中按下以执行它们。我经常看到我忽略了表达式结果的警告。我当然不是,因为我以交互方式评估所有内容。
是否有关闭此警告的选项?
例子:
c# - 从 F# 交互式启动 WPF 窗口,键盘输入损坏
在 WPF 中开发了一个 GUI,当它作为一个独立的应用程序启动时,所有可编辑的字段(数据网格列、文本框等)都可以正常工作。
但是,当从 FSI 实例化窗口时,键入时不会注册单个键字符。有趣的是复制/粘贴和突出显示+删除所有工作。
窗口正在像这样初始化:
然后在 FSI 中调用此函数
所有其他功能似乎都可以工作(按钮单击、切换选项卡),但任何需要按键输入的元素都不会注册键入的字符。
f# - 如何在 Visual Studio Code 中进行 fsi 设置以防止打印输出
我在 Visual Studio Code 中使用 lonide for f#。
我想阻止 FSI 输出窗口打印出定义的代码和变量。我了解到这可以通过这样的设置来完成:
问题是,如何在 Visual Studio 代码的 lonide fsharp 扩展中进行此设置?
f# - 在 fsi F# 交互中引用 com 接口
我正在尝试在 F# 交互中重写这个matlab示例。.Net
在示例中,使用了 COM 接口引用。如何从 fsi 中引用 COM 接口?
编辑
我参考所描述的
从项目菜单中,选择添加引用。在添加引用对话框中选择 COM 选项卡。选择 MATLAB 应用程序。
我无法通过右键单击将这个参考发送到交互式。在我的 matlab 目录中找不到描述 MLApp.dll 中引用的属性和 dll 中没有路径。这个 F# 程序有效:
但我想从FSI使用它。
f# - Visual Studio Code 中的 F#/Ionide,FSI 的最大脚本长度?
我在使用 Visual Studio Code 中的 Ionide 将 F# 脚本发送到 F# Interactive 时遇到问题。
我正在使用 Alt+Enter 的“FSI:发送选择”命令。这适用于较小的脚本,但脚本长度超过一定限制(大约 1.5kb)时,它不再发送到 FSI。FSI 中没有显示错误,没有任何反应。将选择大小减小到此限制以下会恢复原始行为,直到再次超过该限制。
我没有在网上找到任何线索,并希望获得有关如何解决/调查此问题的任何提示。我已经卸载并重新安装了 Ionide & Visual Studio Code,没有任何效果。
这是一个有效的示例脚本,但再添加一个字符就会超出限制:
f# - 我可以在 F# Interactive REPL 中自动打开特定的命名空间和库吗?
我注意到每次从 Visual Studio 中打开F# Interactive (FSI)以尝试REPL 样式时,我总是会发现自己首先执行一些命令,这些命令通常特定于任何给定的项目:
这只是一个例子,但我发现自己在问:这可以自动化吗?现在,我可以fsx
为每个项目编写一个脚本并执行“发送到交互式”,但这仍然是一项相当多的工作(并且#r
或#time
不会在那里工作)。此外,我必须在每次 FSI 重置时再做一次。
有人知道更简单的方法吗?我应该自己动手吗(我从来没有为 Visual Studio 创建过一个严肃的插件,但也许现在是个好时机)。其他建议?
PS:这里的解决方案不是我所追求的,因为它适用于 FSI 的每个实例,但并不适用opens
。第二个解决方案是 add #if INTERACTIVE
,但这会增加混乱,很难用相对路径编写,并且Ctrl-A
plusCtrl+Shift+Enter
会阻塞 any namespace
,这也需要 in #if !INTERACTIVE
,增加更多的混乱。
f# - 在 vscode 终端中粘贴时的字符/行限制
在 VSCode 中使用 Fsi 时遇到问题。我从 1.7 开始就有这个问题,并且在当前版本的 1.8 中仍然存在。
如果我用来alt + enter
向 VSCode 发送代码选择,它可以工作,但仅适用于短选择。When the selection is too long it doesn't do anything in the Fsi window.
在使用终端以及 Fsi 并粘贴部分文本时,我发现了同样的问题。
我找不到字符或行数限制。例如,我曾尝试在 38 行上粘贴 1415 个字符,它可以工作。38 行的 1416 不适用于我的一个文件。但是当我粘贴“a”的 1568 个字符时,它可以工作,而 1569 则不能。所以不一定是字数限制。当我输入一些换行符时,这有效:
在末尾添加另一个 a 并且它不会(1534 个字符,35 行)。
这真的很烦人,我发现的唯一解决方法是将一小部分代码单独复制到 Fsi 中,然后使用;;
.
我在 Windows 7、VSCode 1.8.1、ionide-fsharp 2.21.0、F# 4.0 上。换行符计为 2 个字符 (\r\n)。
写下这些数字,显然只有a
我们需要的换行符characters + newlines < 1569
。但它不适用于任意其他字符。
.net - FSharp Interactive 无法启动;找不到 System.Runtime.dll
我已经通过 Visual Studio 2017 安装程序安装了 FSharp 4.1,但 FSI 拒绝启动:
我假设我在 PATH 变量或其他东西中丢失了一些东西,但是尽管进行了几次重新安装和修复,我还是无法克服这个错误。
FSI 在哪里寻找这个 dll,我应该安装什么来把它放在那里?
更新:
我尝试了一些事情,结果没有改变:
- 通过 VS 2017 安装程序删除 F# 4.1,验证
C:\Program Files (x86)\Microsoft SDKs\F#\4.1
不存在,然后重新安装 F# 4.1 - 卸载我安装的所有版本的 .NET Core
- 删除
C:\Program Files (x86)\Microsoft SDKs\F#\4.0
似乎没有安装程序的目录。(该目录中的 FSI 在删除之前工作...)
我已将融合日志转储为 zip 文件并将其放在我的 Google Drive 上。有一大堆失败的绑定,System.Runtime, Version 4.1.0.0
就是其中之一。
此处提交的问题:https ://github.com/Microsoft/visualfsharp/issues/3178
dictionary - 为什么这段代码在 FSI 中第二次执行时会崩溃?
我有一些生成异常的代码,second time
它在 FSI 中执行。顺序如下:
1)选择above
它的所有行,继续FSI
使用Alt+Enter
.
2)选择代码,FSI
使用Alt+Enter
. 到目前为止没有错误。
3) 通过点击再次运行选定的代码Alt+Enter
。错误(见下文)。
以下是生成此行为的代码行:
相关资料:
错误信息:
关于这种奇怪行为的原因有什么想法吗?