【发布时间】:2017-01-18 08:50:59
【问题描述】:
我在 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 则不能。所以不一定是字数限制。当我输入一些换行符时,这有效:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
在末尾再添加一个 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。但它不适用于任意其他字符。
【问题讨论】:
-
这是 VSCode (Ionide) 和 FSI 的一个已知问题:请参阅 Issue 199,所以我怀疑你会在这里得到解决方案。除非它是固定的。
-
如果您可以添加 VsCode、ionide-fsharp 以及 OS 和 F# 版本,也会有所帮助。在使用 ioniode 2.2.1 的 win 10 上,我没有看到这个问题。但是在 win 7 上,我仍然遇到了非常相似的设置。
-
@s952163 是的,我现在添加了信息。我认为我们可以排除 F# 和 ionide-fsharp。因为发送到 cmd.exe 也有同样的问题。它应该是 VSCode 或 Windows。
-
我认为 ionide 会将消息传递给 FSI。如果您可以重现与非 F# 相关的东西的行为方式相同的东西,那么这将是对 GitHub 上上述问题的宝贵评论。我也希望看到这个问题得到解决。
-
我尝试使用
ctrl+cctrl+v将代码从编辑器复制到 FSI。与使用 FSI 消息传递命令相同的字符限制。当我尝试使用cmd.exe终端集成时,我得到了相同的字符限制。
标签: f# visual-studio-code f#-interactive fsi ionide