Intellisense是否可以在Eclipse中的无插入名称空间中搜索类?

时间:2013-04-22 14:30:06

标签: visual-studio-2010 visual-studio intellisense

在Eclipse中,自动完成功能甚至适用于未使用的包或命名空间。这意味着如果我在一个包中有一个名为DuckWrapper的类,并且在没有导入包DuckWrapper的类中按ctrl + space,它将显示DuckWrapper并在必要时自动导入其包。

但是,Visual Studio不会在自动完成中显示它,除非我先将它添加到使用列表中。

可以改变吗?

3 个答案:

答案 0 :(得分:10)

当前版本的Visual Studio 2019中存在这种功能,但仍处于试验阶段。

IntelliSense without this feature on

如上图所示,看不到另一个项目中名称空间Test2中的实体Student,但是如果单击IntelliSense窗口左下角的按钮,您将看到

IntelliSense with this feature on

在接受IntelliSense提供的Student选项后,所有需要的名称空间将自动添加到文件顶部(或在名称空间名称上方的所有现有using语句下面)。

您可以在以下位置打开/关闭此选项:

  • 工具
  • 选项
  • 文本编辑器
  • C#
  • IntelliSense
  • 选中/取消选中最后一个选项“显示未导入的命名空间中的项目(实验性)

编辑:我嵌入了图像,而不只是超链接它们。

答案 1 :(得分:4)

在Visual Studio的标准安装中无法更改,因此您需要安装扩展程序才能添加该功能。提供此功能的一个常用扩展是JetBrain's ReSharper。以下是他们的文档中的引用。

  

使用Ctrl + Alt + Space调用导入符号完成(以前的类型名称完成)。与Symbol Completion(仅完成当前位置可访问的类型)不同,ReSharper显示与指定前缀匹配的所有类型,无论它们属于哪个命名空间,并在必要时自动添加相应的命名空间导入指令。在C#代码文件中,导入符号完成在使用扩展方法的点之后工作,并使用指令放置。

Import Symbol Completion

答案 2 :(得分:0)

您可以使用IntelliSense Extender插件。 对于Visual Studio 2017:

https://marketplace.visualstudio.com/items?itemName=Dreamescaper.IntelliSenseExtender

对于VS 2019:

https://marketplace.visualstudio.com/items?itemName=Dreamescaper.IntellisenseExtender2019

它包括解决方案中所有项目的类型以及所有引用包的类型。然后,从IntelliSense中选择一个未导入的类型将自动导入该类型。