繁体   English   中英

Visual Studio 2010 IntelliSense:F#运算符的提示

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM