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