VS Intellisense:你能隐藏扩展方法吗?

16

默认情况下,Visual Studio在Intellisense中显示类型的所有成员及其扩展方法。

有时我想隐藏扩展方法,以便更容易找到我实际要查找的成员(特别是在使用Linq时)。

是否有快捷键或其他方法只显示Intellisense中类型的成员?


1
很好的问题。当编写最终也必须在Mono上运行的代码时,这也特别有用。我经常不知不觉地使用扩展方法,后来发现它在Mono上无法工作。 - Toad
4个回答

6
我不知道有没有这样的方法,但你可能想要做的一件事是删除对 System.Linq 的使用指令。这样,扩展方法就无法访问,我认为 IntelliSense 也不会提供它。
显然,如果你想从类中的一个代码块使用 LINQ,而在另一个代码块中不使用,则这并不好,但对于根本不使用 LINQ 的类,这可能会有所帮助。

3
我可以确认它们不会被Intellisense提供(在我执行“删除未使用的using”之后这是一个相当频繁的陷阱)。 - Benjol
@Benjol:我也是。如果你使用 CodeMaid 或 ReSharper 等插件,你可以设置选项来重新插入特定的“using”语句。 - Raheel Khan

2
在理论上,你可以通过适当的装饰器属性来实现这一点*,但是据谷歌搜索显示,这个方法存在漏洞,修复需要等待服务包。

* [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]


0
也许你可以尝试使用像resharper这样的工具,它会在你输入时过滤方法列表。我发现这有助于快速找到我需要的内容,而且不会隐藏有用的扩展方法。

如果您只想浏览可用的方法,这并没有什么帮助。 - Razor

0
Visual Studio 2022有这个功能。
当Intellisense显示时,你可以切换“仅显示属性”和“仅显示方法”(按住Ctrl键同时点击)。
如果你只想看到扩展方法,你可以切换“仅显示扩展方法”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接