【问题标题】:Auto qualify name in visual studio 2013? Intellisense?在 Visual Studio 2013 中自动限定名称?智能感知?
【发布时间】:2015-09-29 16:28:39
【问题描述】:

有没有办法在 Visual Studio 2013 中快速“自动限定”变量类型声明? 例如。如果我输入:

Dim SomeExcel as New Application

有没有办法让 IDE 自动填充命名空间?像这样:

Dim SomeExcel as New Microsoft.Office.Interop.Excel.Application

IDE 似乎能够很容易地推断出命名空间;如果我将鼠标悬停在类型名称上,它可以告诉我哪些命名空间包含该类型。


能够将旧项目从“短名称”(如 Application)更改为完全限定名称(如 Microsoft.Office.Interop.Excel.Application),而无需找到每个项目并输入整个命名空间,这对我来说非常有用。

或者,在名称不明确的情况下,如果它可以让我选择选择哪个命名空间并填充它。类似于如果您使用未定义的类,它会警告您并为您提供选项自动添加 Imports 语句,甚至为您创建一个类存根。

因为它会自动为您完成所有这些工作,并且会在您键入时为接口实例提供建议和自动完成方法/属性,如果没有快速的方法让它转换“短名称”,我会感到惊讶到完全限定的名称,但如果有 - 我似乎找不到它!我查看了菜单命令和各种右键单击菜单,并查看了 MSDN,但找不到任何东西 - 但我不确定我使用了正确的搜索词。
希望有更多经验的人可能知道如何执行此操作,或者此功能是否不存在。

【问题讨论】:

  • 如果在两个不同的命名空间中有多个应用程序类可用怎么办。 ? Visual Studio 如何知道要包含哪一个。
  • 我希望 IDE 会告诉我这一点,就像现在如果我键入一个不合格的名称一样 - 它会警告我它不知道它来自哪个命名空间并要求我对其进行限定。但大多数时候我可以将鼠标悬停在类型名称上,它会显示完全限定的名称,所以我只是想知道,既然它已经知道了,我可以让它为我填写吗?跨度>
  • 您的问题的答案是否定的,如果没有用户的选择,就无法使其完全合格。悬停时 Visual Studio 只知道路径,因为它已经被您选择了。
  • 我真的不明白这个问题的反对意见 - 任何反对这个问题的人都愿意解释为什么? @Garry 如果您确定没有办法,为什么不将其发布为答案?
  • 我不明白为什么它无关紧要 - 我问是否有一种方法可以在 Visual Studio 中做某事,这似乎是基于智能型工作原理和可用信息的合理功能到 IDE - 与它无关的是什么?

标签: visual-studio-2013 fully-qualified-naming


【解决方案1】:

不,Visual Studio 中没有任何东西可以做到这一点。

这样做也不会带来什么特别的好处,因为 VS 会自动告诉你是否有一个模棱两可的引用 并给你解决它的可能性。

发生这种情况时,只需单击将鼠标悬停在其上时出现的图标并选择正确的命名空间。然后 VS 将使用该命名空间对其进行限定。

这是图标的图像:

结果菜单:

当然,这适用于 C#,但 VB 通常以相同的方式工作。

【讨论】:

  • 这正是我所期望的,但在我的情况下,它确实让我可以选择单击命名空间并完全限定它。有没有我缺少的设置?通常,当我遇到编译器错误时,它会给出一个红色的小“X”图标,将鼠标悬停在该图标上时会提供修复它的选项。我不会用模棱两可的名字来理解它。我刚刚收到错误消息,但随后我必须手动输入命名空间详细信息...
  • 悬停时您应该会在左侧看到一条蓝色下划线,朝它移动并单击出现的方块。我试试截图
  • 是的,我没有得到任何正方形。就像上面的屏幕截图一样,如果我将鼠标悬停,它只会显示错误描述 - 但没有自动修复选项。
  • 确保在悬停时寻找蓝色下划线,查看我的截图
  • 是的,我绝对没有得到任何图标,即使是在线徘徊。诡异的。我尝试重新启动VS,但仍然没有改变。看起来很奇怪。
猜你喜欢
  • 2014-07-17
  • 2013-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
相关资源
最近更新 更多