IntelliSense中不完整的属性/方法列表

时间:2017-04-25 06:41:47

标签: visual-studio intellisense visual-studio-2017

我在Visual Studio Community 2017中使用VB.NET。我注意到在某些情况下,对象的可用属性和方法列表不完整。

这里可以看到一个例子: enter image description here

如图所示,我想使用RowCount对象的dgv属性,即System.Windows.Forms.DataGridView类型。你可以看到,就在它上面,属性就在那里并且工作正常,我可以手工输入。它只需要一两秒钟,然后在后台编译器(缺少更好的术语)之前确认它是正确的。这种行为会影响输入流程,因为IntelliSense通常会自动更正它所认为的拼写错误。

注意:这不是所显示的属性所独有的。我注意到它用于其他示例,也用于函数调用和其他随机位置,但我找不到一个明确的方法,即缺少什么,什么不是。

环顾四周我找到了this question,但它会处理完全不同的问题。

这只是Visual Studio中的一个错误(如果是这样,是否会在某处报告?),有人可以确认一下,有人知道修复吗?

3 个答案:

答案 0 :(得分:2)

按照您的步骤,我得到了与您相同的结果,我已将此问题报告给VS产品团队,请检查:VS 2017--VB: the intellisense for the DataGridView control not works like VS 2015,您可以投票或添加评论,然后我们需要等待有关VS产品团队的确认,感谢您的反馈。 enter image description here 同时,我在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回答的补充,可以为其他人节省一些工作:

  • 采用以下XML,这是翻转问题属性所需的最少设置:
<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时将显示高级成员