Celem mojej pracy magisterskiej jest nie tylko praca badawcza prowadząca do pewnych wniosków i algorytmów, ale również budowa narzędzia implementującego te algorytmy. W związku z tym, że koncentruję się na analizie statyczne/dynamicznej kodu, postanowiłem rozszerzyć Visual Studio 2010 o swoje własne narzędzie. Celem kolejnej serii wpisów na moim blogu będzie zapoznanie Was z możliwościami rozbudowy, jakie oferuje Visual Studio 2010.
Na samym początku chciałbym wspomnieć o myśli, która niemal co chwila przeplata się we wszystkich artykułach i wszystkich screencast dotyczących Visual Studio Extensibility: kiedyś pisanie rozszerzeń do Visual Studio było bardzo bolesne, teraz jest o wiele, wiele prościej.
Aby rozpocząć swoją przygodę z rozbudową Visual Studio, należy oczywiście posiadać owe IDE w wersji Proffesional lub lepszej oraz pobrać i zainstalować SDK (~10MB) dostępny tutaj [1]. Po pomyślnym zainstalowaniu powinniście w oknie nowego projektu posiadać dodatkową kategorię „Extensibility” w poszczególnych sekcjach językowych.
Niestety budowanie wtyczek nie jest trywialne i nie da się po prostu stworzyć Hello World bez choćby chwili poświęconej na dokształcenie. Wszystkim zainteresowanym zatem polecam serię screencastów z Development Tools Ecosystem Summit dostępnych na kanale 9 [2]. Myślę, że przebrnięcie przez serię 100 da Wam w miarę jasny obraz sytuacji i bez problemów będziecie mogli stworzyć prostą wtyczkę. Seria 200 jest już bardziej ambitna (ale i trudniejsza), dlatego tym bardziej ją polecam ;-)
Kopalnia wiedzy znajduje się oczywiście w bibliotece MSDN w sekcji Visual Studio 2010 SDK [3]. Polecam ją wszystkim ciekawskim i spragnionym detali developerom. Jest również specjalna strona Extending Visual Studio [4] będąca MSDN’owym punktem wejściowym w świat rozszerzeń Visual Studio.
Nie należy również zapomnieć o blogu zespołu tworzącego Visual Studio [5].
Najlepszym jednak sposobem poznania VSX (Visual Studio Extensibility) jest (po uprzedniej krótkiej lekturze) grzebanie w kodzie. Stworzoną przy pomocy tutoriala wtyczkę rozkładałem na części pierwsze, a wszystkie niejasności sprawdzałem w bibliotece MSDN. Po dwóch takich wieczorach mam już ogólne pojęcie na temat architektury wtyczek, podstawowych zasad ich tworzenia, a także wiem, czego unikać i co należy stosować.
W kolejnych wpisach postaram się Wam pokazać, jak stworzyć już nietrywialne wtyczki. Zapraszam.
Linki: