Wtyczki do ReSharper 4.x – Odc. 1 – Wprowadzenie
Będąc jeszcze na studiach byłem na jednym z seminariów, które prowadził mój kolega z roku niżej. Podczas prezentacji pisał kod ‘na żywo’. Nie dość, że i tak już szybko pisał na klawiaturze to okazało się, że używa jeszcze jakichś czarodziejskich sztuczek. W oknie edytora pojawiały się jakieś dziwne kółka i strzałki. Po westchnięciach sali przerwał i przedstawił narzędzie. Był to dodatek do Visual Studio - CodeRush + Refactor! Pro. Był to rok 2004.
Po zainstalowaniu tego narzędzia szybko okazało się, że mój komputer sobie z nim nie poradzi. Jeszcze tego samego dnia odinstalowałem je i trochę zawiedziony usiadłem do ‘starego’ Visual Studio. W między czasie pojawiały się nowe wersje, a także konkurencja (nie wiem co było pierwsze Refactor! czy ReSharper, ale to nie ważne). Faktem jest, że nie zawracałem sobie nimi głowy, bo po co przyzwyczajać się do jakiegoś narzędzia, na które mnie nie stać i które po 30 dniach trzeba będzie odinstalować...
Jednak ostatnio ReSharper znów wpadł mi w ręce. Pojawiły się nocne buildy i przez dłuższy okres czasu można było mieć go za darmo. Spróbowałem i okazało się, że po kupnie dodatkowego 1Gb ramu (po tym w sumie mam 2Gb) mogę spokojnie z nim pracować. Okazało się też, że po tygodniu współpracy już nie mogłem bez niego żyć ;)
I został ReSharper. Jestem z niego bardzo zadowolony. Z jednej strony traktuję to narzędzie jako programistyczny dopalacz, który przyspiesza moją pracę. Z drugiej jednak strony wydaje się on użytecznym zamiennikiem API, którego dostarcza nam Visual Studio. W serii artykułów chciałbym Wam przybliżyć Open API, którego dostarcza ReSharper. Osobiście widzę w tym narzędziu wielki potencjał. Kolejnymi artykułami chciałbym zachęcić Was do tego, aby ten potencjał wyokorzystać. Nadmienić należy również, że wiele funkcji ReSharpera jest pisana tak jak dodatki, czyli przy użyciu Open API.
Tyle tytułem wstępu. Jeżeli ktoś z Was chciałby tak jak ja zacząć przygodę z dodatkami do ReSharpera na pewno zacząłby od googla, a ten skierowałby go prosto na strony JetBrains dotyczącą tego właśnie zagadnienia. Jak wszyscy dobrze wiemy z autopsji, dokumentacji nikt nie lubi pisać. Widać, że chłopaki z JetBrains mieli dobry start, bo do wersji 2.5 jest przynajmniej wstęp do pisania dodatków. Do wersji 3.0 są tylko PowerToy’e obrazujące wykorzystanie niektórych funkcji API. Do wersji 4.0 nie ma jeszcze nic (na forum ReSharpera pojawiły się już informacje, że PowerToy’e zostały już zmigrowane do najnowszej wersji i jak tylko przejdą proces weryfikacji to pojawią się do ściągnięcia).
Brak dokumentacji do najnowszej wersji wcale mnie nie zniechęcił. Mamy przecież Reflectora, a w razie niejasności zawsze możemy popytać na forum. Niestety okazuje się też, że od wersji 2.5 sporo się zmieniło. Podczas przerabiania PowerToy z wersji 3.0 na wersję 4.0 okazało, że niektóre typy zniknęły, a pewne interfejsy zostały uproszczone. To oczywiście dobrze, bo widać, że w źródłach robione są pewne porządki. Ostatnio na swoim blogu Ilya Ryzhenkov pisał o kolejnych krokach w rozwoju narzędzia. Możemy się zatem spodziewać kolejnych zmian.
Dostępnych pluginów nie jest zbyt dużo. Mamy dziewięć oficjalnych na stronie JetBrains, a ponadto możemy znaleźć jeszcze kilka na stronach CodePlex, CodeProject itd. Jednak nie jest to duża liczba. W Sieci nie znajdziemy również wielu tekstów dotyczących tworzenia dodatków. Najwyższy więc czas zmienić ten stan rzeczy!
Spis treści:
- Wprowadzenie (ten tekst)
- Przygotowanie środowiska
- ... (dalej zobaczymy, dopiero poznaję zagadnienie)