我在Visual Studio Community 2017中使用VB.NET。我注意到在某些情况下,对象的可用属性和方法列表不完整。
如图所示,我想使用RowCount
对象的dgv
属性,即System.Windows.Forms.DataGridView
类型。你可以看到,就在它上面,属性就在那里并且工作正常,我可以手工输入。它只需要一两秒钟,然后在后台编译器(缺少更好的术语)之前确认它是正确的。这种行为会影响输入流程,因为IntelliSense通常会自动更正它所认为的拼写错误。
注意:这不是所显示的属性所独有的。我注意到它用于其他示例,也用于函数调用和其他随机位置,但我找不到一个明确的方法,即缺少什么,什么不是。
环顾四周我找到了this question,但它会处理完全不同的问题。
这只是Visual Studio中的一个错误(如果是这样,是否会在某处报告?),有人可以确认一下,有人知道修复吗?
答案 0 :(得分:2)
按照您的步骤,我得到了与您相同的结果,我已将此问题报告给VS产品团队,请检查:VS 2017--VB: the intellisense for the DataGridView control not works like VS 2015,您可以投票或添加评论,然后我们需要等待有关VS产品团队的确认,感谢您的反馈。 同时,我在C#> Windows Forms应用程序中尝试过它,并且intellisense的工作正常,就像VS 2015一样。
答案 1 :(得分:2)
Albano Gheller在Visual Studio Community page上发布了答案。
引用他和修复所需的步骤:
@AfterAllMethods
总结一下:
在导出的设置文档I've fixed the problem in this way:
1. I've exported my settings from Tool - Import/Export settings
2. I've set the property HideAdvancedMembers = true inside
<ToolsOptionsSubCategory name="Basic" RegisteredName="Basic" PackageName="Text Management Package">
because C# has true and works
3. I've imported this modified settings.
ToolsOptionsSubCategory中找到该部分:<PropertyValue name="HideAdvancedMembers">false</PropertyValue>
。
将其更改为Basic
,保存,然后重新导入设置。
我不知道为什么隐藏成员会导致显示更多成员,但无论如何; - )
答案 2 :(得分:0)
作为Jens回答的补充,可以为其他人节省一些工作:
<UserSettings>
<ApplicationIdentity version="15.0"/>
<ToolsOptions>
<ToolsOptionsCategory RegisteredName="TextEditor" name="TextEditor">
<ToolsOptionsSubCategory PackageName="Text Management Package" RegisteredName="Basic" name="Basic">
<PropertyValue name="HideAdvancedMembers">true</PropertyValue>
</ToolsOptionsSubCategory>
</ToolsOptionsCategory>
</ToolsOptions>
</UserSettings>
a.vssettings
的文件中我认为VS中存在一个错误,他们将智能逻辑的布尔逻辑倒置了,当此属性为false时高级成员将隐藏,而在true时将显示高级成员