An area I’d like to see improved in a future release of VS is around code navigation. Specifically, I’d like to see the following suggested improvement:
When the developer enters a method in the active code window, an optional set of dockable windows appear and show methods calling the current method and methods called by the current method. Additional methods may be tied to the current method with a ShowWithMethodAttribute and shown below the callee methods on the right-hand side. This also works in reverse so that when viewing the attributed method, the referenced method is displayed on the left-hand side. Note that only source within the current solution is shown. A nice to have would be if we could capture data based on past forward/backward navigation through the code base to automatically suggest additional useful methods to show.
In the example below, the developer has opened his source code and navigated to the GetImage() method shown in the middle pane. Notice how the code flows across the screen. Notice the highlighting that leads the eyes naturally from callers to callees. Notice how some bugs and inconsistencies immediately stand out. For instance, in the top left DrawImage method, the values of the image out parameter is never tested for null. Notice the inconsistency in variable names of types RPLImage and System.Drawing.Image among the two DrawImage methods.