[英]Visual Studio 2010 IntelliSense: hints on F# operators
是否可以使Visual Studio在运算符上显示工具提示?
下图显示了函数的工具提示提示,但它不适用于运算符。
操作符通常具有简单的类型规范,如'T -> 'T -> 'T
,但这些提示对于自定义提示非常有用。
根据丹尼尔的建议,我发布了一个我自己一直在使用的解决方法 。
解决方法只是部分有用,我仍然在寻找更好的想法。
let (!><) a = ()
let z1 = op_BangGreaterLess 5
此代码完全有效,因为运算符表达式生成具有编译器生成的名称的函数。 有关运营商名称的完整列表,请参阅此MSDN文章的 “重载运算符名称”部分。
好消息是op_BangGreaterLess
支持IntelliSense提示,它还支持IDE的“Go to Definition”( F12 )命令,指向原始操作员声明。
坏消息是IntelliSense不允许快速输入完整的操作员名称( Ctrl + Space ),因此您必须手动输入整个名称。
我担心这是不可能的(即使在Visual Studio 2012中,我也没有为操作员提供工具提示)。
我想这可以实现,但正如你所说,运营商通常有简单的类型。 使用自定义运算符时,这些运算符应该足够简单,以便人们可以在不查看其类型(或关联的XML文档)的情况下使用它们。 否则,使用命名函数可能更好。
也就是说,如果您使用的是F#Interactive,那么您可以轻松地使用它来探索运算符类型:
> (!><);;
val it : ('a -> unit) = <fun:clo@2>
如果我不能使用F#Interactive,我通常会定义一个简单的虚拟符号来获取IntelliSense:
let dummy () = (!><)
请注意,我添加了unit
参数来定义函数并避免值限制错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.