是否可以让Visual Studio在运算符上显示工具提示?
下图显示了函数的工具提示提示,但它不适用于运算符。
操作符通常具有简单的类型规范,例如'T -> 'T -> 'T
,但这些提示对于自定义提示非常有用。
答案 0 :(得分:7)
根据Daniel的建议,我发布了一个我一直在使用的变通办法。
解决方法只是部分有用,我仍然在寻找更好的想法。
let (!><) a = ()
let z1 = op_BangGreaterLess 5
此代码完全有效,因为运算符表达式生成具有编译器生成的名称的函数。有关运营商名称的完整列表,请参阅this MSDN article,“重载的运营商名称”部分。
好消息是op_BangGreaterLess
支持IntelliSense提示,它还支持IDE的“转到定义”( F12 )命令,指向原始操作员声明。
坏消息是IntelliSense不允许快速输入完整的操作员名称( Ctrl + Space ),因此您必须手动输入整个名称。
答案 1 :(得分:4)
我担心这是不可能的(即使在Visual Studio 2012中,我也没有为操作员提供工具提示)。
我想这可以实现,但正如你所说,运营商通常有简单的类型。使用自定义运算符时,这些运算符应该足够简单,以便人们可以在不查看其类型(或关联的XML文档)的情况下使用它们。否则,使用命名函数可能会更好。
那就是说,如果您使用F#Interactive,那么您可以轻松地使用它来探索运算符类型:
> (!><);;
val it : ('a -> unit) = <fun:clo@2>
如果我不能使用F#Interactive,我通常会定义一个简单的虚拟符号来获取IntelliSense:
let dummy () = (!><)
请注意,我添加了unit
参数来定义函数并避免值限制错误。