W życiu programisty bywają takie sytuacje (nawet dość często), że trzeba zapoznać się z czyimś kodem, czy też zwyczajnie przypomnieć sobie swój własny, napisany jakiś czas temu. Zdarza się tak, że podczas przekopywania się przez sterty plików w Visual Studio co chwilę korzystamy z opcji “Go to definition” z menu kontekstowego lub wybierając F12.

GoToDefinition

Takie działanie pozwala nam przeanalizować kod nawet gdy nazwy metod nie do końca odzwierciedlają jego działanie (są sytuacje, w których faktycznie może się “nie dać” i utrzymać nazwy metod rozsądnej długości :). Pomocne przy takiej analizie może być narzędzie “Code definition window”, które mozna otworzyć przez Menu -> View -> Code Definition Window lub przez wciśnięcie Ctrl + D, Ctrl + W

OpenCodeDecinitionWindow

Okno to pozwala nam na szybki podgląd definicji metod, klas, właściwości itp, na których aktualnie ustawiamy nasz kursor.

Code definition Window - Class

Code definition window - contructor

code definition window - method

Jednakże jeżeli najedziemy na metodę, która jest deklarowana w interfejsie wówczas Code Definition Window nie jest w stanie odszukać właściwej implementacji w przeciwieństwie do ReSharpera, który “rozumie” działanie interfejsów i szuka klas, które je implementują i poszczególnych interesujących nas metod.

Code definition window - interface

Niemniej jednak jest to narzędzie przydatne i przede wszystkim dostępne w Visual Studio bez dodatkowych opłat. Mała rzecz, a cieszy :)