Visual Studio's “auto-resolve” feature doesn&#

2020-06-03 06:45发布

问题:

I love the "Resolve" feature in visual studio.

Typical scenario:

  1. Type in Debug
  2. Type .
  3. Notice that no intellisense appears
  4. Right-click
  5. Select Resolve
  6. Choose using System.Diagnostics or System.Diagnostics.Debug

Beautiful. Use it all the time.

Extension method scenario:

  1. Type in var maxNumber = new int[] {1, 2, 3, 4}
  2. Type .
  3. Notice that intellisense brings up array methods but no LINQ extension methods
  4. Manually type Max()
  5. Right-click Max()
  6. No Resolve to be found
  7. Right click on int[]
  8. Still no Resolve to be found
  9. Begrudgingly scroll to the top of the page and enter using System.Linq;*

    *assuming you know it by heart, otherwise wrack your brains or try to look it up

Implementation idea:

If this feature were to be invented, one idea would be for the first intellisense item that appears when I type . to read, <extension methods...>, and if I click that item, it brings up a Resolve list of all namespaces that contain extension methods for the class in question.

Couple questions:

  1. Is this feature slated for future editions of Visual Studio?
  2. Any workarounds/tips for finding the extension methods (and the corresponding namespace) that might be available for a particular class?

回答1:

I really HATE having to "just know" what namespace to use to support any given class. I mean, there are THOUSANDS OF THEM. Who knows what namespace you need? There's no naming convention that can be used as a clue.

It's a shame because I also use Netbeans IDE for Java, and "resolve imports" works flawlessly for everything.