【问题标题】:Incomplete list of properties/methods in IntelliSenseIntelliSense 中的属性/方法列表不完整
【发布时间】:2017-09-22 00:59:02
【问题描述】:

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

这里可以看到一个例子:

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

注意:这不是所示属性独有的。我在其他示例中以及在函数调用和其他随机位置中都注意到了这一点,但是我找不到明确的方法来说明缺少什么和不缺少什么。

环顾四周,我发现例如this question,但它处理的是完全不同的问题。

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

【问题讨论】:

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


    【解决方案1】:

    按照你的步骤,我得到了和你一样的结果,我已经向VS产品团队报告了这个问题,请检查这个:VS 2017--VB: the intellisense for the DataGridView control not works like VS 2015,你可以投票或添加评论,然后我们需要等待来自 VS 产品团队的确认,感谢您的反馈。 同时,我在 C#>Windows Forms 应用程序中进行了尝试,智能感知工作正常,就像 VS 2015 一样。

    【讨论】:

    • 很高兴有一个独立的确认。也许您可以添加到报告中,这不是 datagridview 控件的孤立问题。当我偶然发现它们时,我会看到我收集更多的例子。
    • @Jens,如果您发现更多控制权,请随时告诉我,我会更新该线程以使 VS 产品团队知道它,在此先感谢 :)
    • 另一个例子是任何控件上的ClientRectangle 属性,例如Button1.ClientRectangle
    • @Jens,感谢您的更新,我在我这边进行了测试,然后在上面的线程中添加了带有此属性的评论,等待 VS 产品团队工程师的确认。跨度>
    • Graphics.FromHwnd 函数是另外一个,它不是控件。
    【解决方案2】:

    Albano Gheller 在Visual Studio Community page 上发布了答案。

    引用他和修复所需的步骤:

    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.
    

    总结一下:

    在导出的设置文档的BasicToolsOptionsSubCategory 中找到部件:&lt;PropertyValue name="HideAdvancedMembers"&gt;false&lt;/PropertyValue&gt;。 将其更改为 &lt;PropertyValue name="HideAdvancedMembers"&gt;true&lt;/PropertyValue&gt;,保存,然后重新导入设置。

    我不知道为什么隐藏成员会导致显示更多成员,但无论如何;-)

    【讨论】:

      【解决方案3】:

      作为 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 中存在一个错误,他们将智能感知的布尔逻辑颠倒了,当这个属性为假时,高级成员被隐藏,当它为真时显示

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-16
        • 2020-10-18
        • 2021-08-11
        • 2015-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多