Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Tworzenie wtyczek do Visual Studio: podsumowanie na koniec konkursu

Właśnie stuknął 20. wpis w konkursie Daj Się Poznać 2017, zatem przyszedł czas na podsumowanie prac na koniec trwania trzymiesięcznych zmagań...

Statystycznie

W tym czasie wpisy miały sumarycznie prawie 42 tysiące wyświetleń. Najbardziej obleganym wpisem był ten o hakowaniu Visual Studio, czyli o dobieraniu się bezpośrednio do poszczególnych elementów UI poprzez Snoopa. Niemalże identyczną ilość wyświetleń ma wpis odnośnie aplikacji (i nie tylko) wspomagających zdrową pracę przy komputerze: Zdrowe ciało, zdrowy duch, zdrowy programista — przegląd aplikacji. Oczywiście wszystkie wpisy dostępne są pod linkiem grupującym moje artykuły.

Bad Word Detector — własna wtyczka do detekcji wulgaryzmów w Visual Studio

Tworząc w IDE zapewne nieraz natknęliście się na kod źródłowy, który zawierał wulgaryzmy czy to w postaci komentarza, czy to w postaci nazw zmiennych. Również my sami lubimy wstawić gdzieś w kodzie "kupę" lub inny równie ciekawy zwrot.

Niestety czasem takie "kwiatki" wychodzą na produkcję i nie są może czymś karygodnym lub niebezpiecznym, ale wizerunkowo raczej nikt na tym nie zyskuje. Ostatnio pisał Niebezpiecznik chociażby o "fakach" na stronce OKE

a kilka dni wcześniej podobnie "wpadł" Citibank.

Tworząc na konkurs wtyczkę Healthy With VS wpadłem na pomysł, aby stworzyć dodatek do Visual Studio, który mógłby zaradzić takim problemom. Bad Word Detector, bo tak nazwałem ten nano-projekt, wykrywa wulgaryzmy w kodzie źródłowym edytora i je zaznacza.

Zapisywanie zdarzeń z wtyczki do Visual Studio w Activity Logu

Dzisiejszy wpis odnośnie tworzenia wtyczki do Visual Studio będzie bardzo szybki i konkretny. W każdej aplikacji przychodzi moment na to, aby zalogować do pliku jakieś zdarzenie. Może być to notka o wyłapanym wyjątku, bądź też tylko zapis czysto informacyjny.

Zapis w Activity Log

Dodatki do IDE od Microsoftu mogą zapisywać zdarzenia do Activity Loga. W celu umieszczenia własnego wpisu należy pobrać serwis o typie SVsActivityLog i rzutować go na interfejs IVsActivityLog:

var log = serviceProvider.GetService(typeof(SVsActivityLog)) as IVsActivityLog;

gdzie serviceProvider jest obiektem dziedziczącym po IServiceProvider (w naszym przypadku jest to obiekt klasy Package).

Logowanie odbywa się przy pomocy metody LogEntry:

log.LogEntry((UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_ERROR, pluginName, message);

Pierwszy parametr określa poziom logowania - jest nim enumerator __ACTIVITYLOG_ENTRYTYPE i posiada od trzy wartości: błąd (ALE_ERROR), ostrzeżenie (ALE_WARNING) i informacja (ALE_INFORMATION). Drugi parametr opisuje źródło logu, zaś trzeci parametr jest tekstowym opisem loga.

Aktywacja i przeglądanie logówLogi składowane są przez IDE domyślnie w pliku

Windows Template Studio — szybki start w programowaniu aplikacji Universal Windows Platform

Osoby programujące z Universal Windows Platform dostały właśnie świetny dodatek do Visual Studio 2017 - Windows Template Studio. Prosty kreator od Microsoftu, który stworzy podstawy projektu UWP z wybranym funkcjonalnościami, zgodnie z dobrymi praktykami programowania.

Windows Template Studio

Dodatek do VS2017 jest prostym kreatorem, bardzo pomocnym przy rozpoczynaniu tworzenia nowej aplikacji UWP. Kreator pozwoli deweloperom na wybranie typu projektu, frameworku MVVM, stowrzeniu podstawowych stron i ficzerów. W ten sposób stworzony zostanie gotowy szablon dla dewelopera, który zawiera wybrane elementy, z zainicjalizowanymi strukturami zgodnie z dobrymi praktykami. Programista na starcie otrzyma zatem bazę do rozwoju własnej aplikacji. Wystarczy już tylko usiąść i zacząć pracę.

Windows Template Studio jest rozwinięciem pomysłu Windows App Studio, które pozwalało na "wyklikanie" aplikacji UWP online. Windows Template Studio jest zaś kreatorem, który tworzy dla dewelopera bazę do późniejszej pracy nad aplikacją.

Kreator

Kreator dostępny jest z menu File-New-Project, znajdziemy go szablonach Windows Universal:

Migracja starej wtyczki do nowej wersji Visual Studio 2017

Tworząc dodatek do Visual Studio zapewne wiele osób będzie uczyło się poprzez analizę kodu istniejących już dodatków (chociażby ze źródeł na GitHubie od MS). Okazuje się jednak, że projekty pluginów stworzonych pod stare IDE zupełnie nie chcą kompilować się w nowej odsłonie Visual Studio. Jesteśmy zmuszeni do ręcznej migracji takich dodatków. Oto poradnik jak tego dokonać.

Automatyczna aktualizacji (standardowa)

Otwierając projekt, który został stworzony w starym IDE, w nowym Visual Studio 2017 dostaniemy standardowy komunikat o automatycznej aktualizacji.

Nie mamy wyjścia i godzimy się na to. Po chwili projekt jest już gotowy na działanie w nowej wersji IDE. Niestety próba builda zakończy się niepowodzeniem.

W tym momencie musimy sami przejść przez kluczowe elementy projektu, aby zaktualizować ręcznie dodatek.

Nowe paczki z NuGeta

Zaczniemy migrację o pobrania nowych paczek z NuGeta.

Na zakładce aktualizujemy dostępne nowe składniki i restartujemy IDE, jeśli jest to wymagane.

Umieszczamy własną wtyczkę do Visual Studio w Markecie

Nareszcie udało mi się znaleźć chwilę wolnego po tym całym ślubnym zamieszaniu ;) Wtyczka do Visual Studio monitorująca czas i zdrowie dewelopera już coś zaczyna sobą reprezentować. Postanowiłem zatem dodać rozszerzenie do marketu, aby każdy mógł zainstalować ją w swoim IDE i zgłosić wszelakie błędy i uwagi. W tym poradniku przedstawię sposób na umieszczenie wtyczki do Visual Studio w Markecie.

Przygotowanie pliku manifest

Przygodę zaczynamy od otworzenia pliku source.extension.vsixmanifest. To w nim znajdują się szczegóły, które będą wyświetlane na ekranie dodatku w markecie. Na pierwszej zakładce Metadata można uzupełnić opis, domyślną ikonę czy tagi.

Kolejna, Install Targets, opisuje jakie wersję Visual Studio będą wspierane. Podajemy tutaj nie tylko wersję numeryczną, ale również wersję funkcjonalną. W moim przypadku są to wydania Visual Studio Community, Pro i Enterprise w wersjach 2015 i wyższe.

W oknie Dependencies można określić jakie zależności i w jakich wersjach są wymagane do zainstalowania wtyczki.