2016-08-05 63 views
0

剛剛從VS2013升級到VS2015企業更新3,發現智能感知似乎與枚舉打破。後VS2015 intellisense是否與枚舉斷開?

用VS2013,鍵入空間,例如:

dim myEnum as MyEnumType = 

...會馬上給出正確類型的枚舉值的選擇。

也有更復雜的情況,其中,從衆多的方法的重載版本的選擇時,你可以通過重載,直到你得到了正確的過載向下箭頭,然後再次鍵入空格真正,它會給你一個正確類型的枚舉值的選擇,你需要在列表中進行參數。

這裏就是VS2013做,比如:

enter image description here

然而,這是VS2015等價,確切的同一行的代碼,通過滾動到正確的超負荷後:

enter image description here

正如您所看到的,它給出了完全錯誤的可能選項列表。

以前版本的Studio有類似的問題,最終在整個社區在痛苦中嚎叫之後得到修復。

它似乎回到了VS2015--一個重要的逆行步驟。現在你必須知道它在給你選擇之前所期望的確切類型。

類似的問題似乎是一年前的reported重新使用社區版,但它或者它的更微妙版本顯然也影響到企業版的更新3。

有什麼辦法可以重現VS2013的Common/All標籤行爲嗎?


編輯:這裏是我選擇的選項:

enter image description here

它們是相同的,因爲我在VS2013了。

+0

無法重現問題https://i.snag.gy/vEtW8c.jpg – Sehnsucht

+0

稍後將以更具體的示例進行編輯。 – ChrisA

+0

@Sehnsucht - 添加了一些比較VS2013和2015的截圖 – ChrisA

回答

1

智能感知顯示的是根據當前簽名(或編譯器認爲可能是什麼)的成員列表,而不是根據過載工具提示。

例如,看到這個intellisense/overload demo
它顯示了與您的帖子相同的整體行爲。

但要獲得它,在"caption"之後寫了逗號之後,我使用鍵盤上的向上/向下箭頭手動更改了當前的過載工具提示。

注意,這不是強制性的手動更改即使沒有它已建議我一些超載這需要一個IWin32Window的第一個參數,即使已經存在的字符串作爲第一個參數

然後我按下空間intellisense根據上下文而不是工具提示顯示什麼是合適的。

在你的文章中,我們可以看到它在兩個屏幕中都不是相同的超載。
我無法確定這是發生在你身上的事情(因爲我故意改變了超負荷工具提示),但如果我必須打賭,我會這樣。