'VS Intellisense: can you hide extension methods?

By default Visual Studio displays all members and its extension methods for a type in intellisense.

Sometimes I would like to hide the extension methods to make it easier to find the member I am actually looking for (especially when using Linq).

Is there a shortcut or another way to display only the members of a type in intellisense?



Solution 1:[1]

Not that I'm aware of - but one thing you might want to do is get rid of the using directive for System.Linq. At that point the extension method won't be accessible, and I believe it won't be offered by Intellisense.

Obviously that's no good if you want to use LINQ from one bit of code in a class, but not in another - but for classes which aren't using LINQ at all, it might help you.

Solution 2:[2]

In theory you could do this with the appropriate decorator attribute*, but googling this it seems it's bugged, with the fix awaiting a service pack presumably.

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

Solution 3:[3]

Perhaps you could try using something like resharper which filters the list of methods as you type. I find this helps me to quickly get to what I need. And it will do so without hiding useful extention methods

Solution 4:[4]

Visual Studio 2022 has this.

When Intellisense is displaying, you can toggle 'Show only Properties' and 'Show only Methods' (hold Ctrl to get click both).

If you want to only see the extension methods, you can toggle 'Show only Extension methods'.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jon Skeet
Solution 2 annakata
Solution 3 mezoid
Solution 4 Even Mien