F# 交互式自动完成

9
在VS2010的F#交互环境中有没有自动补全选项?
5个回答

12
不。在F#中以交互方式编写代码的最佳方法是创建一个新的脚本文件,并将所有代码都写在其中(您可以获得所有的自动完成和后台类型检查)。然后,只需选择代码并按Alt+Enter在F#交互窗口中评估即可。
Visual Studio中运行的F#服务有一个返回声明的方法(请参见源代码),因此可以在MonoDevelop中向F# Interactive添加智能感知。但是,我认为大多数人在主编辑器中编写代码,因此这种请求并不常见...

2
是的,这是可能的... 实际上,在控制台窗口中运行时,fsi已经有了一种有限的Intellisense。 - Laurent
也许有可用的插件? - AK_
6
在F# Interactive中加入Intellisense支持并不是一个坏主意。 - devoured elysium
5
我个人非常希望在 F# 交互环境中(当然是在 Visual Studio 中)进行完整的操作,这会让演示变得更加容易。 - Dmitri Nesteruk
2
当使用IPython、Scala和Elixir进行编程时,拥有REPL中的自动补全功能确实非常令人愉悦...这是学习和探索一门语言的好方法。 - user483036
如果Tomas在微软工作并将一些Intellisense集成到FSI中,那就太棒了,我会为他买一瓶啤酒。特别是当我打开FSI时,可以轻松地添加对C#dll的引用,那就更好了。开个玩笑,@TomasPetricek,您认为社区成员编写这个VS插件有多可行?谢谢 :) - VoronoiPotato

4

3
Aleksey Vlasenko为VS2013和VS2015制作了F#交互式智能感知。它知道您在FSI中创建的任何变量/函数。我最大的抱怨是它不显示文档或类型签名。

2

当你按下TAB键时,会得到自动完成。

打开S[TAB]将会写入System等等

默认情况下应该是开启的。

有关更多信息,请参见:

fsi.exe --help

或者运行

fsi.exe --readline+


0

VS 2015,社区版

控制台中没有自动完成,但更烦人的是编辑器中没有可靠的自动完成。

唯一似乎远程工作的方法是在另一个项目中实际上有一个.fs而不是.fsx,并设置依赖项,这样F12导航到您的解决方案的其余部分就可以工作了,并且您可以获得与其他项目相同的自动完成等级。

不要忘记在编译之前注释或排除新项目,否则您可能会执行一些可能危险的脚本。

有趣的是,C#交互式,它是F#交互式的完全副本,具有自动完成功能。因此,如果C#交互式开始像可用的东西一样,也许在您的F#项目中使用它并摆脱挫败感。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接