Visual Studio

Visual Studio Tips & Tricks – nagranie

Jak wspomniałem podczas mojej dzisiejszej prezentacji na MTS na temat Visual Studio Tips & Tricks nagranie tej prezentacji można znaleźć na moim kanale youtube. Nagranie jest przygotowane w języku angielskim, ale mam nadzieję, że nie stanowi to dla was problemu.

Oto bezpośredni link do webcastu jeżeli podgląd nie zadziała :)

Tytuł nagrania to Visual Studio 2013 web developer perspective, natomiast to co na nim pokazałem zawiera w sobie triki i porady dotyczące zarówno Visual Studio 2012 jak i 2013.
Poruszone zagadnienia to:

  • Feedback,
  • Sign In (profile),
  • Notification center,
  • Paste JSON as class,
  • Pick Definition (Alt + F12),
  • Code Lens,
  • Ctrl + ,
  • Extended Toolbar,
  • Move line/s (Alt + up / down)
  • JavaScript – go to definition
  • Multiple browsers debugging + browser link
  • Page inspector, dynamic JavaScript content recodnition,
  • Quick Launch (Ctrl + Q)
  • ZEN Coding
  • Web Essentials

Zachęcam do oglądania, subskrubowania i komentowania :)


MTS 2013 – garść informacji przed

Jak już wiecie w tym roku po raz kolejny będę prelegentem podczas dorocznej konferencji Microsoft Technology Summit. W tym roku jednak będę miał przyjemność poprowadzić dwie sesje, na które gorąco zapraszam!

Dzień pierwszy, godzina 11:30, sala F – zarejestrowane 240 osób i jest jeszcze trochę wolnych miejsc :)

Sesja określona jako #DEV01 nosząca tytuł “Windows Phone 8, rzeczy które powinieneś wiedzieć”. W oryginalnym tytule tej prezentacji nie było przecinka, lecz puryzm osób odpowiedzialnych za treść wziął tu górę :) Tak czy inaczej tytuł miał dać do myślenia – będzie Windows Phone 8, czy może 8 rzeczy :) Podczas tej sesji będę opowiadał o najciekawszych elementach związanych z Windows Phone, o których warto wiedzieć aby tworzyć lepsze i ciekawsze aplikacje na tą platformę.

Dzień drugi, przerwa lunchowa (start sesji ok 13:30), sala A – zarejestrowane 456 osób – to jest największa sala, więc zapraszam wszystkich zainteresowanych – jakoś się pomieścimy :)

Sesja określona jako #DEV11 nosząca tytuł Visual Studio Tips & Tricks. Organizatorzy przydzielili mi na tą prezentację 30 minut – strasznie mało, więc zobaczymy jak długo uda mi się okupować mównicę :) Pokażę wam nowe rzeczy z Visual Studio 2013, ale również ciekawostki z poprzedniej wersji (2012 i niżej), także każdy znajdzie coś dla siebie…

Mała mapka konferencji (będziecie ją również mieli dołączoną do identyfikatora)

plan_3D_MTS2013

Na koniec jeszcze garść wlepek :)

580x75_mts_widget_bedenakonferencji

580x75_mts_widget_bedeprelegentem

580x75_mts_widget_jestemmvp

580x75_mts_widget_spotkajmysie

580x75_mts_widget_tolubie


Prezentacje w październiku

Ostatnio byłem zajęty wieloma rzeczami jednocześnie i nie zaglądałem tu od dłuższego czasu… Czas nadrobić to zaczynając listą ogólnodostępnych prezentacji, które będę miał w październiku:

9.10.2013 – [GDAŃSK] Prezentacja na temat Clean Code: http://codeguru.geekclub.pl/kalendarium/podglad-wydarzenia/clean-code,8464

12.10.2013 – [ONLINE] Prezentacja na temat Windows Phone podczas DotNetConf: http://dotnetconf.pl/

22.10.2013 – [WARSZAWA] Podczas pierwszego dnia konferencji MTS opowiem o Windows Phone 8 – triki, które przydadzą się każdemu programiście WP.

23.10.2013 – [WARSZAWA] Podczas drugiego dnia konferencji MTS opowiem na temat trików w Visual Studio, które pozwolą wam być bardziej produktywnymi i czerpać jeszcze większą przyjemność z pisania kodu :)

Jak widać – będzie się działo, tym bardziej, że oprócz tego mam jeszcze prezentację wewnętrzną i parę nagrań do zrobienia :)

Wszystkie materiały z powyższych prezentacji znajdziecie właśnie tutaj, także bądźcie na bieżąco :)


Modern UI – appbar icons

Czy tworząc aplikację opartą o Modern UI (i nie tylko) zastanawialiście się skąd można wziąć do niej grafikę? Też miałem ten problem – Paint.NET, rysowanie, szukanie darmowych zestawów, przerabianie ich na swoje potrzeby itp… Masa roboty… Natura człowieka jest taka, że każdy chce sobie tą pracę ułatwić i oto informacja jak można to zrobić:

Pierwsza opcja to wykorzystanie Metro Studio.

Jest to darmowy produkt stworzony przez Syncfusion. Aby zdobyć bezpłatną wersję aplikacji trzeba zostawić swoje dane kontaktowe, natomiast moim zdaniem zdecydowanie warto. Jednocześnie odradzam też podawanie błędnych danych – na maila dostaniecie linki do klucza aktywacyjnego i paczki do pobrania, dodatkowo otrzymacie również informacje o wszystkich promocjach Syncfusion :)

Sama aplikacja Metro Studio pozwala użyć grafiki z ogromnego katalogu istniejących już obrazków. Dodatkowo można podać dowolną rozdzielczość, kolorystykę itp., co jeszcze bardziej sprawia, że narzędzie to jest praktycznie niezbędne w pracy z Modern UI. Ikony można skopiować jako obrazy, ale również jako XAML!

Co ciekawe istnieje możliwość zgłaszania propozycji ikon, które zostaną przez nich przygotowane:

– opcja płatna – ikona trafia do nas bardzo szybko

– opcja mniej płatna – musimy poczekać trochę dłużej, ale płacimy mniej

– opcja bezpłatna – musimy poczekać zdecydowanie dłużej i ikona trafi do globalnego katalogu.

Możemy również stworzyć własną ikonę wykorzystując znaki obrazkowe!

MetroStudioCharacter

Drugą opcją jest wykorzystanie niedocenianej często czcionki Segoe UI Symbol.

Lista możliwych znaków znajduje się tu: http://msdn.microsoft.com/en-us/library/windows/apps/jj841126.aspx. Oczywiście nie jest to pełna lista, gdyż możecie wpisać znaki z pełnego zakresu i sprawdzić co zostanie wyrenderowane :) Możecie też sprawdzić kody poszczególnych symboli wykorzystując Character Map

CharacterMap

Ok, ale co z tego, że mam taki znaczek? Co dalej mogę z nim zrobić? To proste! Wystarczy stworzyć dowolny element na interfejsie użytkownika, ustawić mu czcionkę na Segoe UI Symbol i jako treść (Text / Content) wpisać wspomniany kod znaku.

W przypadku wykorzystania aplikacji na Windows 8 możecie znaleźć w niej plik o nazwie StandardStyles.xaml. W nim możecie z kolei odnaleźć na przykład taki kod:

<Style x:Key="NextAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
 <Setter Property="AutomationProperties.AutomationId" Value="NextAppBarButton"/>
 <Setter Property="AutomationProperties.Name" Value="Next"/>
 <Setter Property="Content" Value="&#xE111;"/>
</Style>

Widać na nim wartość E111, która jest jednym z symboli dostępnych w SegoeUI Symbol i oznacza strzałkę w prawo :) W ten sposób możemy wygodnie i szybko tworzyć własne style przycisków nie tylko dla Windows 8, ale również dla Windows Phone. Proste prawda :)

Mam nadzieję, że teraz stworzenie grafik do waszych projektów będzie dużo prostsze niż do tej pory.


Windows Phone Simulation Dashboard

Podczas pracy z Visual Studio 2012 i Windows Phone SDK oprócz powszechnie znanych możliwości jakie daje emulator mamy do dyspozycji dodatkowy panel w Visual Studio, który nazywa się Simulation Dashboard. Jest on dostępny z menu Tools -> Simulation Dashboard lub przy użyciu Quick Launch (CTRL + Q) już po wpisaniu trzech pierwszych liter jego nazwy. Przy okazji polecam używać Quick Launch, ponieważ potrafi znacząco ułatwić nawigację po ponad 4k opcji oferowanych przez Visual Studio :)

Wróćmy jednak do właściwego tematu i przyjrzyjmy się jak wygląda cały panel.

SimulationDashboard

Aktualnie oferuje on 3 (symulacja sieci, blokada ekranu, przypomnienia), aczkolwiek planowana jest rozbudowa o kolejne opcje. Jeżeli macie jakieś pomysły, co chcielibyście tu znaleźć, to piszcie śmiało – postaram się przekazać sugestie do zespołu zajmującego się narzędziami.

Symulacja sieci pozwala sprawdzić jak nasza aplikacja korzystająca z połączenia będzie się zachowywać w skrajnych przypadkach, jakie będą opóźnienia w transmisji danych itp., co pozwoli nam dodać na przykład performance progress bar informujący użytkownika o dłuższych czynnościach.

Bardzo istotne jest zbadanie działania aplikacji pod zablokowanym ekranem oraz właściwe obsłużenie tego typu zdarzeń. Pamiętajmy również, że możemy wymusić, aby aplikacja działała również pod zablokowanym ekranem, co do tej pory bez telefonu było niemożliwe do przetestowania.

Przypomnienia – jest to element, który może przenieść kontekst użytkownika poza naszą aplikację, a następnie do niej powrócić. Warto przygotować się również na taki scenariusz, a przy pomocy Simulation Dashboard jest to teraz o wiele łatwiejsze niż było do tej pory.


Windows 8 CP i Visual Studio 2011 Beta

Dziś na stronach Microsoft pojawił się do pobrania Windows 8 w wersji Consumer Preview. Oto link do bezpośredniej strony z plikami ISO: http://windows.microsoft.com/en-US/windows-8/iso

Dodatkowo jest dostępne również Visual Studio 2011 w wersji Beta! Dostępne jest pod adresem http://www.microsoft.com/visualstudio/11/en-us/downloads. Do wyboru mamy Visual Studio, TFS oraz wersje Express. Ja wybrałem VS w wersji Ultimate, do której prowadzi ten oto link: http://www.microsoft.com/visualstudio/11/en-us/downloads#ultimate – moje kopie już się pobierają :)


Visual Studio IntelliSense Tip 2

Kolejna ciekawostka związana z IntelliSense w Visual Studio 2010.

Często bywa tak, że IntelliSense próbuje być o wiele mądrzejsze niż programista i na siłę dopasowuje wybrane przez siebie nazwy klas i zmiennych nawet jeżeli nie było to naszym zamiarem. Jednym z przykładów może być tu odwołanie do nieistniejącej jeszcze klasy, którą dopiero zadeklarujemy. Szybkie demo polega na wpisaniu w kodzie aplikacji słowa Time – taką właśnie klasę chciałbym za moment dodać, natomiast narazie tworzę tylko kod, który będzie wykorzystywał obiekt tego typu.

Zatem po wpisaniu Time wciskam spację, żeby kontynułować kod i … okazuje się, że Visual Studio zakłada, że wie lepiej i IntelliSense wpisuje w miejsce Time typ TimeoutException

Co w związku z tym? Ctrl + Z i piszemy dalej… ??? Nie

Tryb uzupełniania i tryb sugestii

Opisane przeze mnie zachowanie jest spowodowane tym, że IntelliSense posiada dwa tryby: uzupełniania (domyślny) i sugestii. Jak widać tryb uzupełniania może być czasem uciążliwy… Można natomiast skorzystać z drugiego trybu, czyli z sugestii… Do przełączania się pomiędzy trybami IntelliSense służy kombinacja klawiszy CTRL + ALT + SPACE. Po zmianie trybu uzyskujemy efekt widoczny poniżej:

W tym trybie po wciśnięciu spacji IntelliSense nie wpisuje niechcianego przez nas typu TimeoutException… I o to właśnie chodziło.

Powiecie “Ok, ale co jeżeli chcę jednak wpisać TimeoutException a jestem w trybie sugestii?” Drogi są dwie:
1 – Tabulator pozwala na uzupełnienie sugerowanego tekstu
2 – Strzałką wybieramy sugestią i klikamy spację.

Mi osobiście opcja ta się spodobała. Oczywiście trzeba do niej podchodzić z rozsądkiem, żeby nie okazało się, że zamiast przyspieszyć spowolni proces kodowania :)


Visual Studio IntelliSense Tip

Okazuje się, że IntelliSense w Visual Studio 2010 potrafi nie tylko uzupełniać wpisywane przez nas metody, lecz dodatkowo interpretować to co wpisujemy. Przykładem niech będzie klasa Console.

Standardowo

Przeważnie gdy piszemy kod, w którym chcemy wczytać pewne dane od użytkownika wpisujemy Console.Read… i wybieramy z listy podpowiedzi ReadLinie. Okazuje się, że można do tego podejść inaczej!

Podejście 1

Zamiast wpisywać po kropce słowo Read wpiszmy Line. Okazuje się, że IntelliSense zasugeruje nam metody zawierające w sobie słowo Line czyli ReadLine i WriteLine. Jest to nieznacznie szybsze niż korzystanie z prefiksu Write.

Podejście 2

Ale to nie wszystko! Można jeszcze szybciej dostać się do interesującej nas metody, czyli do ReadLine. Wystarczy po kropce wpisać dwie litery: RL. IntelliSense zinterpretuje to jako poszukiwanie metody, która składa się z conajmniej dwóch wyrazów, z których pierwszy zaczyna się na R, a drugi na L.

Istotna jest tu wielkość liter, gdyż dla algorytmu używanego przez IntelliSense ma ona znaczenie – łatwo to sprawdzić wpisując zamiast RL ciąg rL.


Ctrl + T w Visual Studio

Przed chwilą natrafiłem na dość dziwny skrót dostępny w Visual Studio, a mianowicie na kombinację klawiszy Ctrl + T. Skrót ten jest znany z przeglądarek internetowych do otwierania nowej zakładki, lecz nie wiedziałem, że istnieje taki również w VS. Natrafiłem na niego zupełnie przypadkowo, gdyż przełączając się między oknami przerwałem o jedno okno za wcześnie (zamiast przeglądarki było to właśnie Visual Studio). Ctrl + T i nic się nie dzieje. Ok, przełączyłem się dalej, ale gdy wróciłem do VS okazało się, że mój plik konfiguracyjny się rozsypał. po chwili poszukiwań znalazłem w nim czeski błąd. Dziwne, bo nic w nim nie zmieniałem i ot tak sobie się pojawił? Otóż nie! skrót klawiaturowy Ctrl + T powoduje zamianę dwóch sąsiednich znaków znajdujących się przy kursorze! Co więcej jeżeli postawimy kursor gdzieś w środku słowa i wykonamy kilka tych kombinacji pod rząd wówczas litera po lewej stronie kursora wyląduje na końcu słowa. Pytanie – W JAKIM CELU? Nie mam pojęcia czy ktoś z tego korzysta i jaki jest sens tworzenia takiego skrótu klawiaturowego. No chyba, że ktoś namiętnie robi literówki, ale wówczas można użyć Backspace i poprawić zamiast przypominać sobie, że taka właśnie kombinacja klawiszy istnieje.

Tak czy inaczej – człowiek całe życie się uczy a mój wniosek – strzeż się Ctrl + T w Visual Studio – szczególnie w plikach konfiguracyjnych :) (w kodzie nie ma takiego problemu, bo od razu dostaniemy informację o błędzie, jednakże z w *.config może być problem)


Na dobry początek tygodnia – Productivity Power Tools

Jest poniedziałek rano, jak zawsze na początek tygodnia “prasówka” po ulubionych portalach tematycznych. Aby z tej okazji dać wam do przeczytania coś ciekawego postanowiłem zabrać się za Productivity Power Tools a dokładniej to, na co niewiele osób zwraca uwagę. Wszyscy rozpisują się o tym jak fajnie jest mieć dodatki, które PPT w sobie ma takie jak:

– podświetlanie aktywnej linii

– przypinanie i kolorowanie zkaładek oraz oznaczanie niezapisanych plików (czerwona kropka na zakładce)

– nakładka na dodawanie referencji pozwalająca je grupować i filtrować

– solution navigator, który pozwala szybciej poruszać się po logicznej zawartości solucji oraz pozwala na filtrowanie po nazwach, ale i stanach plików (otwarty, niezapysany itp)

– zaznaczanie całej linii potrójnym kliknięciem

– kombinacja Ctrl + Klik przenosi do definicji obiektu – w zastępstwie za F12 – zależy

– automatyczne domykanie nawiasów i tego typu dwuznaków (np cudzysłowy) – do tej funkcji trzeba się przyzwyczaić, gdyż na początku pojawia się nam ich nadmiar jeżeli domykamy je sami automatycznie :)

– wiele wiele innych…

Owszem – te dodatki są przydatne, ale NIE KAŻDY wie o tym co moim zdaniem jest najciekawsze! Chodzi tu mianowicie o okienko pomocy komend (Quick Access). Uruchamiamy je skrótem Ctrl + 3. Dlaczego jest ono moim zdaniem takie pomocne? Visual Studio posiada wbudowane ponad 4000 komend – tak twierdził na MTS 2010 Chris Granger z teamu Visual Studio. Nie wyobrażam sobie zapamiętania ich wszystkich, a nawet 10%. Przyznaję, że 1% jest jeszcze realny, ale gdzie tu do wykorzystania możliwości środowiska. Jeżeli korzystam z czegoś w 1%, to trzeba się zastanowić co zrobić, by zwiększyć ten współczynnik… Quick Access podpowiada możliwe komendy na podstawie wpisanej przez nas frazy. Wybraną opcję możemy zatwierdzić klawiszem Enter, co dodatkowo przyspiesza korzystanie z tej opcji. Dzięki temu nie ma konieczności pamiętania skrótów klawiaturowych (o ktorych pisałem w jednym z wcześniejszych postów), opcji włączania i wyłączania dodatkowych okien itp itd. Jedyne co jest potrzebne to świadomość istnienia pewnych możliwości i zwerbalizowanie ich w Quick Access. Dzięki temu osiągnięcie 10% (a nawet i więcej) wykorzystania możliwych (i pomocnych w pracy) komend staje się bardziej realna, a dodatkowo nie jest uciążliwą pamięciówką.

Productivity Power Tools można pobrać za darmo ze stron Visual Studio Gallery.


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: