簡體   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