2009-08-26 57 views
0

我想单词完成显示所有匹配的类型名称(不仅在导入的名称空间中)。如果该类型的nampespace没有被导入 - 它应该在我从列表中选择类型时导入,并且如果该类型在未引用的程序集中 - 该程序集应该添加到项目引用(在提示符后添加导入和引用)当然)
试图回忆确切的类型名称,它的命名空间有时是真正的痛苦。 有没有这种完成的产品? (是的,我知道关于Resharper。不,它不支持这个)Visual Studio - 更聪明的单词完成想要

PS如果单词完成可以显示所有类型的文本中的任何地方有文本 - 不仅在开始。例如,我输入“writer” - 并完成向我显示所有作者(TextWriter,StringWriter,StreamWriter等)

+5

这听起来像一个可怕的想法。为此,VS必须在启动时加载每个程序集,然后在每次键入按键时搜索每个程序集。 VS在大型项目中已经存在性能问题。这将是一场噩梦。 – 2009-08-26 15:38:34

+1

并非所有组件,只有那些在GAC和当前项目中注册的组件。并且不需要做出愚蠢的直接搜索 - 有许多有效的索引算法。 – skevar7 2009-08-26 15:48:07

+0

你是什么意思与resharper“不支持这个”? Ctrl + Alt + Space为我提供了所有可以访问的类型。在很多情况下,当你写下一个类型时,它会提示“添加Blabla引用项目和使用指令”。该列表可能是可定制的,但我没有检查。至于类型搜索,使用Ctrl + T,它允许通过类型进行通配符搜索,包括非解决方案类型! – flq 2009-08-26 15:59:19

回答

3

您应该看看ReSharper(Again)它支持功能的部分类型名称或只写骆驼案例类型名称的大写字母,例如SomeType可以在ST中找到。

任何工具将寻找可能的类型的程序集的数量总是被限制。毕竟,除非您告诉工具有关组件(以某种方式告诉GAC中的程序集,参考它或任何其他方式),工具将根本无法知道该组件,因此不会搜索它。最重要的是,你真的不希望该工具搜索到很多程序集,因为那样你就可能冒险完成任何类型的全名,然后该工具将被搜索到

+0

我再次看了一遍,在Resharper中看不到部分名称搜索。当输入“Writer”时,虽然“System.IO”命名空间被导入,但它不显示任何建议。 而且,检查所有GAC程序集*可能会太慢。不过,查看当前项目引用的程序集肯定不会太慢。 – skevar7 2009-08-26 15:55:57

+0

部件名称是根据快捷键布局选择的快捷键ctrl-t或ctrl-n – 2009-08-26 16:17:04

+0

Ctrl + T是通配符搜索,*不是*部件名称搜索。更精确。 不完全是我想要的,但它总比没有好,但。 – skevar7 2009-08-26 16:33:30

1

你在找什么是c#整形。 只需在类似MD的地方输入内容,然后按下Ctrl +空格键即可调出各种标准包含。只需按空格确认(在这种情况下,MD5将显示)。它也学习你最常用的东西。

3

对或错,intellisense的目标是为当前编辑位置提供法律完成。这绝不是100%准确的,但我们力争仅列出有效的完成。

显示未导入的类型名称和/或未在装配中显示的类型名称当前项目引用在此方法面前飞行。而是建议已知对用户不合法的代码。

真的,我们可以通过添加程序集引用返回并修复此问题。但有些用户可能会觉得这很烦人。他们正在输入代码,并且突然引用被添加并且它们的导入被改变。

我不是说这必然是一个坏的功能,只是它违背了当前的设计理念,并有可能使很多用户感到不适。

+0

我希望我可以多次投票! – 2009-08-26 16:03:45

+0

我写了“提示符后添加引用”: - / – skevar7 2009-08-26 16:06:37