在Razor中編寫代碼時,智能感知下拉框不起作用。它會打開,然後在不到一秒鐘後關閉。當有以下括號時,MVC/Razor - 智能感知彈出窗口關閉
當我正在寫一個類或類似的東西時,這種情況不會發生在我的視圖上。
爲了解釋爲I型
- @Html會發生什麼。
- 智能感知框打開並保持打開狀態。
- @ Html.DisplayFor(p值=> M)//的閉括號自動由VS
- 寫入的框打開在顯示具有M開始可能的輸入,但立即關閉。
- @ Html.DisplayFor(p值=>模型。)
- 盒子打開並顯示與模型相關聯的屬性,但隨後立即關閉。
然而,如果我添加一個空間:
- @ Html.DisplayFor(p值=> M)
- 盒保持打開。
- @ Html.DisplayFor(p值=>模型。)
- 盒保持打開。
有沒有設置或東西是這樣對我?
通過關閉和重新打開VS以及重建項目,此問題依然存在。
使用Visual Studio 2015 Professional 2015更新2 在做MVC時使用Razor。 如果有可能導致此問題的設置,我也安裝了Web Essentials。
當使用ctrl-space觸發彈出窗口時會發生什麼? VS可能只是在解析你的代碼,並意識到原始的彈出窗口內容是無效的。有時候部分編寫錯誤的代碼會導致整個文件不可分析,這意味着有關可用成員的所有信息都將丟失。 JetBrains Resharper在解析和自動完成方面做得更好。 – Charlie
@Charlie ctrl +空格將正確打開彈出窗口並保持打開狀態。我將如何去跟蹤「部分寫入錯誤的代碼」? – hcaelxxam
部分編寫的錯誤代碼非常有用。最好的例子是當你啓動一個if語句並打開大括號(可能來自一個粘貼)但不提供大括號。解析器不能找到類的結尾,所以它只是放棄,直到你得到所有大括號來匹配。您可能還有其他一些選項或插件,它們是「偷取焦點」並導致彈出窗口消失。這將很難追查到。您可以嘗試禁用所有插件,將您的設置重置爲默認等,並查看它是否消失。重新啓動計算機也可能工作。 – Charlie