Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

Wtyczki do ReSharper 4.x – Odc. 2 – Przygotowanie środowiska

Przygodę z tworzeniem wtyczek zaczniemy od przygotowania środowiska programistycznego. Przede wszystkim potrzebna jest nam instalacja samego R#, bo to jego biblioteki są dla nas podstawą. Z tego co zauważyłem to R# nie ma osobnych bibliotek w stylu SDK. Tworząc wtyczki będziemy odwoływali się do tych bibliotek, które będą nam potrzebne.

Wtyczka dla ReSharpera to biblioteka DLL. W jednej bibliotece może znajdować się tylko jeden plugin. R# potrafi współpracować z wtyczkami napisanymi dla .Net 3.5 jak również 2.0. Zacząć należy od utworzenia projektu biblioteki (Windows Class Library). Następnie nowo powstały projekt konfigurujemy, aby móc w prosty sposób testować rozwijaną wtyczkę.

W opcjach projektu ustawiamy, aby przy wywołaniu debugowania uruchamiał się zewnętrzny program z odpowiednimi parametrami w lini poleceń. Oczywiście tym programem będzie Visual Studio jako że to w nim będzie osadzona nasza wtyczka. Do rejestracji wtyczki w R# na czas debugowania służy przełącznik:

/ReSharper.Plugin "ścieżka do pliku DLL wtyczki"

Całość może wyglądać tak: c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe /ReSharper.Plugin "D:\projekty\ResharperPrugins\SampleResharperPlugin\bin\Debug\SampleResharperPlugin.dll”. Dzięki tym ustawieniom będziemy mogli debugować rozwiązanie w Visual Studio.

image

Rys. 1. Konfiguracja opcji debugowania

Drugim krokiem jest przygotowanie samej wtyczki tak, aby R# mógł ją odpowiednio rozpoznać. Do tego celu służą atrybuty, które możemy umieścić w pliku AssemblyInfo.cs. Aby móc z nich skorzystać musimy dodać referencję do pliku JetBrains.Platform.ReSharper.UI.dll. Do opisu wtyczki służą atrybuty: PluginTitleAttribute, PluginDescription, PluginVendor. Myślę, że ich nazwy mówią same za siebie. Każdy z nich przyjmuje jako parametr napis określający odpowiednią wartość. Przykładowe użycie może wyglądać tak:

  1 [assembly: PluginTitle("Szarpnięty!")]
2 [assembly: PluginDescription("Wyszarpana wtyczka")]
3 [assembly: PluginVendor("Bartłomiej Legiędź")]

Teraz wciskając F5 po raz pierwszy uruchomimy swoją własną wtyczkę do R#. Chwilowo zignorujemy fakt, że ta wtyczka nic nie robi. Zadowolimy się tym, że R# już o niej wie.

zine.net.pl.resharper.plugins.02.loaded 
Rys. 2. Wtyczka została rozpoznana i załadowana

Podsumowując, przygotowanie środowiska jest proste i zamyka się w następujących krokach:

  1. Tworzymy projekt Windows Class Library
  2. Konfigurujemy opcje debugowania
  3. Dodajemy referencję do JetBrains.Platform.ReSharper.UI.dll
  4. Dodajemy atrybuty opisujące wtyczkę (nazwa, opis, producent)
  5. Wciskamy F5 by sprawdzić, czy wtyczka poprawnie się ładuje

Dla leniwców przygotowałem mały wzorzec projektu dla Visual Studio. Dołączone do postu archiwum wystarczy skopiować do katalogu z wzorcami projektów (domyślnie: c:\Documents and Settings\<user>\Moje dokumenty\Visual Studio 2008\Templates\ProjectTemplates\Visual C#\) i VS pozwoli nam z tego wzorca skorzystać. Zawarłem w nim referencję do biblioteki R# zawierającej atrybuty wtyczki, a w pliku AssemblyInfo.cs umieściłem te atrybuty z pustymi wartościami.

Spis treści:

  1. Wprowadzenie
  2. Przygotowanie środowiska (ten tekst)
  3. ... (dalej zobaczymy, dopiero poznaję zagadnienie)
Opublikowane 29 września 2008 14:06 przez nuwanda
Filed under: ,

Attachment(s): ReSharper Plugin.zip

Powiadamianie o komentarzach

Jeżeli chciałbyś otrzymywać email gdy ta wypowiedź zostanie zaktualizowana, to zarejestruj się tutaj

Subskrybuj komentarze za pomocą RSS

Komentarze:

Brak komentarzy

Co o tym myślisz?

(wymagane) 
wymagane 
(wymagane) 

  
Wprowadź kod: (wymagane)