Ostatni post z serii nowości VS 2017. Dwie rzeczy które mnie jeszcze zainteresowały i z których będę pewnie w jakimś stopniu korzystał. Z jednej na pewno cały czas, z drugiej… czasami. Zgrupowałem je razem gdyż dotyczą one rzeczy wykonywanych w czasie rzeczywistym.

Z cyklu nowości w Visual Studio 2017, do tej pory ukazały się artykuły:

  1. Visual Studio 2017: Instalacja i ładowanie
  2. Visual Studio 2017: Edytor kodu
  3. Visual Studio 2017: Debugowanie
  4. Visual Studio 2017: Live

Side node: VS 2017 w wersji RC, ale to nie powinno wpłynąć negatywnie na przedstawione funkcje w RTM.

Analizowanie kodu w czasie rzeczywistym

Już było to, no powiedzmy. Niby taki build cichy aplikacji iw tle i wyświetlenie problemów z naszym kodem. Takie partial buildy. Teraz dzięki Roslyn to zostało udoskonalone. Co zresztą jak prezentowałem nowości w C# było zaprezentowane:

Analiza kodu w czasie rzeczywistym
Analiza kodu w czasie rzeczywistym

Nawet nie musiałem nic budować, dostałem informacje z miejsca, że coś jest nie tak, jak i także dostałem błąd w oknie listy błędów. To jest niby to co robił r#, teraz jest to dostępne w VS. Fajnie, bo dzięki temu dużo więcej ludzi stanie się lepszymi programistami – jak będzie oczywiście zwracała uwagę na tą analizę ;)

Unit testy w czasie rzeczywistym

Taki nCrunch, tylko dostępny w VS z dużo brzydszymi grafikami ;) Ogólnie, opcja umożliwia nam testowanie kodu w czasie rzeczywistym. Po pierwsze dostajemy informację, czy kod jest pokryty testami jednostykowymi, jakie jego linie są a jakie nie, oraz czy testy wykonywane przechodzą czy też nie. By włączyć opcję trzeba wybrać z menu Test | Live Unit Testing | Start:

Właczenie testowania w czasie rzeczywistym
Właczenie testowania w czasie rzeczywistym

Potem trzeba się trochę pobawić z paczkami ;) Instalujemy stabilną wersję xUnit (2.1.0), i beta wersję xunit.runner.visualstudio – u mnie działało na wersji: 2.2.0-beta4-build1194.

Teraz, nasz kod pokryty testami które przechodzą, które nie przechodzą jak i fragmenty nie pokryte testami, będą wyglądać tak:

Wygląd kodu testowanego
Wygląd kodu testowanego

Zaś kod testów tak:

Wygląd kodu testującego
Wygląd kodu testującego

Opcja super, mam nadzieję, że to spowoduje, iż więcej ludzi będzie starało się robić TDD. Czy w ogóle pisać testy jednostkowe.

Podsumowanie

Koniec kolejnej mini serii na blogu. Przestawiłem kilka nowości, które mi się najbardziej podobają i z których ja na pewno będę korzystał. Są to opcje imo tak popularne, że większości z was się przydadzą. Jedyna rzecz która mnie przeraża w całym tym VS to to, że on naprawdę stara się stać systemem operacyjnym, narzędziem do wszystkiego. W którymś momencie, będzie o wszystkim, ale niczym konkretnym. Choć dalej jest to najlepsze IDE na rynku – nie edytor kodu, nie nie, IDE, tak :) Wiem wiem, IDE od JetBrains. Ale dla mnie to raczej bardzo rozwinięty edytor a nie IDE :)

12 KOMENTARZE

  1. Masz jakies info, kiedy wychodzi VS2017 RTM?
    Wiem, ze RC moze byc uzywane produkcyjnie, ale po wyjsciu RTM pewnie trzeba bedzie reinstalowac,
    a szkoda mi czasu.

    • nie :( żadnej oficjalnej i nieoficjalnej :(

      co do aktualizacji, pewnie będzie, ale z drugiej strony zmienili całkowicie system instalacji. I aż sam sobie zainstalowałem i czekam. Zobaczę co zrobią. Tak czy siak mam w planach reinstalkę systemu. Odwlekam ją tylko w czasie.

      Mam nadzieję, że wraz z tym nowym systemem instalacji i aktualizacji, to powinno pójść płynnie. Bez konieczności reinstalwoania.

      • Zainstalowalem. Eksplozji nie bylo. Dziala vs2015 i 2017 jednoczesnie – przynajmniej na razie nic sie nie sypnelo.
        Najarany naszukałem się Live Unit a okazalo sie, ze to jest w …. Enterprise, w Community nie ma.
        No dzięki, zamiast bulić na Etnerprise to wole kupic NCrunch :-|

        Poza tym dziala milutko.

        • Ty nie płacisz za enterprise, firma płaci, lub startuje się w różnych programach masowych, gdzie cena jest niska. Ale tak, jest to opcja enterprise – na razie. Imo sprawdza czy działa i jakie jest zapotrzebowanie i potem zniosą do profesional. Za darmo zaś nie wiem czy coś takiego dadzą. Wątpię ale mogę sie mylić

      • Ale ja prowadzę działalność więc musiałbym zapłacić :-D, ale VS Community mi wystarcza, jednak live unit testing (i na dodatkowym serwerze) byłoby przydatne.
        Czy dadzą za darmo? Myślę, że tak, przecież jeszcze niedawno nie można było pomyśleć o takim VS Community. Podobnie MSSQL Developer jest już bezpłatny – i dobrze, przecież powinno im zależeć na użytkownikach.
        MS musi dalej przekonywać do siebie deweloperów, bo ich Net Core się ślamarzy i miał kiepski start, a alternatywy są darmowe.

      • też prowadzę. masz w takiej możliwości wiele opcji a jedną z nich jest bizspark. Do tego, czy aby napewno nie łamiesz licencji Community? robisz dla klientów którzy nie mają teamów i jesteś jedynym pracownikiem piszącym kod? Community jest za darmo… ale ma dobrze napisaną licencję na tyle, że lepiej się upewnić 2 krotnie czy aby napewno możesz z tego korzystać. Piszę to bo u mnie się okazało, że nie mogę z community skorzystać.

        I nie nie musi dawać za darmo opcji live testing. wystarczy, że dał VS z opcją pluginów. Wręcz nawet bym zostawił to tak jak jest, może zszedł na professional. ale chcesz coś więcej zapłać. masz “za darmo” minimum. I MS nie musi przekonywać do siebie dev :) oj nie musi. uzależnia ich od swoich usług, to wystarczy. i mogą być alternatywy, może ich być duuużo. i dobrze, przynajmniej ms nie zostanie oskarżony od monopol. To co robi, robi teraz bardzo mądrze. i bardzo dobrze uzależnia użytkowników od swoich usług. Więc tutaj, że musi to się nie zgodzę :)

      • z licencji vs community: “Jeśli Licencjobiorca jest osobą prywatną tworzącą własne aplikacje na sprzedaż lub do innych celów, taki Licencjobiorca może korzystać z oprogramowania do tworzenia i testowania takich aplikacji.” sprzedaje te aplikacje.
        Zreszta jak nie moglbym korzystac z VS Community to bym raczej zmigrowal na java – mialbym wiecej mozliwosci pracy i dobre ide za male pieniadze :-D

        “I nie nie musi dawać za darmo ” nie pisałem, że musi tylko ze sadze, ze to da w ramach “lulania” deweloperow. Od kilku wersji dodaje ciekawe ficzery (porownujac z vs 2005 prof, ktory mialem), wiec mysle, ze ten tez da.

        Bizspark – “Be in business for less than 5 years.” ja odpadam., ale dalej nie wnikam, nie zalezy mi.

        “uzależnia ich od swoich usług” nie wszyscy tłoczą apki na Azure, a skoro męczy sie z Net Core na inne systemy i produkuje WinServer (nano czy jakos tak) w wersji na dockery to chyba nie robi tego dlatego, że jest monopolistą tylko dlatego, że musi dać opcje, żeby firmy nie uciekały na alternatywne technologie. Zauwaz, ze mozliwosci pisania softu web w chmurze jest kilka i niekonieczne to musi byc .net, ktory dalej jest w biznesie tylko na windows.
        Do tego to juz nie te czasy, ze jedyna alternatywa na internet w domu, wystawianie faktur czy granie to tylko windows, jest android, jest ios. Sam wiem, ze gdyby nie to, ze pisze soft, to spokojnie moglbym zrezygnowac z windows (a jestem z nim od 1993). Mniej cisnienia na prace na desktopie to mniej cisnienia na pisanie softu na windows, piszac na inne platformy mamy inne jezyki, dostawcow, wiec MS musi przekonywac do siebie. Zwlaszcza jak MS potrafi wyprowadzic w pole deweloperow – mam na mysli podejscie do bledow w net framework 3.5, WindowsPhone, Silverlight, a ostatnio w swoim ogródku – brak zgodnosci z mssql 2000 w serwerze mssql 2012, wiec klient juz wie, ze przy podnoszeniu sql papa jego aplikacji (nie mojego autorstwa).

        Wydanie niezlego VS Community to przeciez przekonywanie do siebie deweloperow, w tym mnie, bo drugi raz VS Prof bym nie kupil.

        “To co robi, robi teraz bardzo mądrze” no nie wiem, ukatrupienie Windows Phone, bałagan w net core, slamazarny rozwoj Edge, kontrowersje z Windows 10.

      • z tym produktem to bym uważał. robisz dla nich produkt od podstaw, i chargujesz ich za użytkowanie tego produktu a nie za to, że go im oddajesz? Tutaj kwestia produktu jest bardzo ważna. tak czy siak. jak chcesz być pewny napisz do MS. Ja Ci mówię jak jest. Community jako firma mogę korzystać jak sprzedam produkt wytworzony za pomocą Community a nie usługę. Dlatego też to zrobili by ludzie nie brali tego do pracy jako konsultanci tylko po to by tworzyli produkty.

        Zachęcam do sprawdzenia tego w MS i upewnienia się.

        Tak, nie używałeś “musi”, wyciągnąłem złe wnioski z kolejnego zdania gdzie piszesz, żę musi a wcześniej dajesz, że im na użytkownikach zależy dlatego VS jest za darmo.

        Bizspark – tak, ale są inne opcje.

        co do uzależnienia. a jednak dalej siedzisz w tym .NET, piszesz aplikacje. Klienci to kupują. Kupują windowsy, płacą za licencję… jak dla mnie uzależnia bardzo dobrze. Koło się kręci. A czemu daje .NET Core ? przyczyną powstania .NET Core były problemy z .NET Framework i z support callami które mieli i których nie potrafili już obsłużyć po pełnili kilka błędów w .NET Framework. A przy konieczności przepisania .NET Framework skorzystali z okazji poszli w social z tym. Boom i MS stał się dobry :) i potrafi dobrze mglić oczy ludziom. Bo to co piszesz powtarza znaczna liczba dev. MAło kto jednak siada i się nad tym zastanawia. A warto. Warto też podpytać się MS po co coś stworzył. Tam nie jest wszystko zaplanowane i ma cel. Więc znów MS nic nie musi. Robi WinServer na docker i implementuje to, bo to jest mu potrzebne do chmury i azure. Plusem dodatkowym jest to, że mają dużą grupę testową z open source. biznes się dalej kręci.

        i tak .NET jest w biznesie tylko na Windows :) ale nie musi nigdzie indziej być. MS zarabia na chmurach i licencjach. A my się cieszymy ochłapkami w postaci “darmo” softu, który dostajesz za dane personalne, śledzenie na kompie itp. jasne… “darmo”.

        Masz innych dostawców i inne języki. Powiem tak, nie jesteś ich targetem. zostałeś złapany w sieć już dawno temu. Ciężko jest się z niej wydostać. Smiało, przekwalifikuj się na dev na innym środowisku z innym językiem. Bo na razie tylko słyszę od ludzi: ms musi, bo inaczej ludzie odejdą. i… nic, nic się nie dzieje. Na przykład piszesz, że mógłbyś zrezygnować z Windows, a czemu tego nie zrobisz? Szczerze. Skoro Cię tyle rzeczy wkurzasz, zmień. Zobaczysz wtedy, że wcale tak źle nie miałeś :) Trawa zawsze jest bardziej zielona u sąsiada :)

        A co do produktów ubitych… bywa i tak. i MS ma niezgodność w produktach po 12 latach… szczerze WOW. 12 lat wspierali wszystko i nie mogli iść do przodu bo musieli to zrobić. 12 LAT! pokaż mi produkt który jest kompatybilny wstecz 12 lat i ciągle jest rozwijany i ma coraz to nowsze opcje.

        Kiedyś miałem podobne podejście do Ciebie. Teraz wiem, że MS nic ale to kompletnie nic nie musi i nic nie jest winny takiemu dev jak Ty czy Ja. Daliśmy się złapać w sieć dawno temu. Ja przynajmniej to akceptuje i wiem, że tak jest. I wiem, że mając 100023423434 języków i technologii do wyboru i tak przez najbliższe lata będę związany z MS i VS. A to znaczy, że wszyscy moi klienci zapłacą MSowi za licencje i usługi. Jak dla mnie MS wie co robi i robi to zajebiście tak, że większość z nas sądzi, że MS to robi dla nas i jest dobry bo daje open source itp.

      • “Tutaj kwestia produktu jest bardzo ważna. tak czy siak.” sprzedaje usluge wykonania apki + kody zrodlowe.

        “jednak dalej siedzisz w tym .NET, piszesz aplikacje.” tu jest kwestia jajka i kury, moi klienci maja windows i ja poszedlem w NET co uwazam za blad, jednakze obszar mojego dzialania (apki web) oznacza, ze moglbym przejsc na inna technologie, ale …. skoro pisze dla firm i one nie cisna na cos innego, to ja za bardzo nie mam na razie motywacji, zwlaszcza, ze szukam pracy i chce wykorzystac znajomosci c#/net.

        “niezgodność w produktach po 12 latach… szczerze WOW. 12 lat wspierali wszystko”

        zaraz zaraz, czekaj! Pamietam doskonale jak MS zachecal do Silverlighta, a za chwile go ukatrupil. Pamietam jak zachecal do WP i ukatrupil w bezwstydny sposob, wiecej, wejdz sobie na MSN i MS zacheca do kupna Lumii :D

        Odnosnie bledow w NET 3.5 – to bylo lata temu (5?) jak WinXP byl mocny i bledy w WPF poprawiono w net 4.0 i nie dano poprawek do 3.5. To bylo jawne chamstwo, ludzie pisali petycje. Odnosnie MSSQL – no sorry, klient uzywa produkt i on dziala, MS zacheca do wydawania kasy na aktualizacje serwera, klient kupi i bedzie w czarnej d**ie, bo łosie pisali w apce join w stylu ‘*=’ . Co za problem dac zgodnosc w serwerze za 30tys.PLN? Jest zgodnosc od 2005 w zwyż, to tak bolało dodać 2000?

        ” nic nie musi i nic nie jest winny takiemu dev jak Ty czy Ja.” nie rozpatruje tego w kwestii musi/winny, ale on po prostu nie ma wyboru jak walczyc/dbac o programistow, zeby jego platforma byla konkurencyjna. To nie te czasy, ze mozna bylo radosnie kosić za IDE (jak to robił Borland), teraz jest czas, że dużo softu jest free, popatrz na model Google, IDE do androida masz free, co popchnęło popularność do przodu, bo były apki. Nokia pajacowała z płatnym dostepem do bibliotek Symbiania jak i rozwoju platformy i juz tych telefonow nie ma.

        “Na przykład piszesz, że mógłbyś zrezygnować z Windows, a czemu tego nie zrobisz? Szczerze. ” przeciez juz napisalem, bo pisze apki na net, gdybym pisal w java, python, ruby spokojnie moglbym miec linuksa czy maka, bo fv za usluge wystawic moge on-line lub w open office, web obejrzec w Opera na te systemy.
        Moja aktywnosci przy kompie to visual studio, mssms, przegladarka. Dwa pierwsze odpadaja, zostaje to co moge uzyc gdzie indziej.
        Teraz masz w domu duzo rzeczy on-line i mozesz to obsluzyc telefonem z apka lub tabletem. Mam tu na mysli szeroko pojeta konsumpcje (filmy, muzyka, nauka jezykow, materialy etc). Ja jeszcze pamietam czasy irc i 0202122, teraz mlodzi komunikuja sie przez smartfony i nie musza siedziec do tego przy windows.
        Rynek windows sie zawezil i po prostu MS musi dbac o popularnosc, chociaz ja mam wrazenie, ze mu Windows ciazy, bo nie dba o ten system jak powinien.

    • Rider ma inny target grup. nie ma szans zaorać VS. Zresztą do tego nie dąży. On chce być bardzo dobrym edytorem kodu z kilkoma features. Nie chce być czymś co robi wszystko. A jak chcesz pisać pod produkty MSowe – SharePointy, CRMy, Azury, itp itd. to VS jest najlepszym rozwiązaniem.

      Ale tak, Rider może zabrać trochę userów, ale nie aż tyle jakby Ci się wydawało. Przynajmniej przez kilka następnych lat.

Comments are closed.