Tag: 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ą :)


Problem 260 znaków

Problem 260 znaków

Przy okazji robienia projektu na potrzeby artykułu okazało się, ze Visual Studio przy buildowaniu wyników mojej pracy zwróciło błąd:

Could not write lines to file “……”. The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

Z racji na fakt, że było to związane z pracą przy projekcie dla Windows Phone pierwszym co przyszło mi do głowy to fakt, że być może emulator nie jest w stanie poradzić sobie z tak długimi ścieżkami do plików. W związku z tym szybki test wla standardowego projektu i … wynik ten sam.

Okazuje się, że dotarłem do granicy, której wcześniej nie zdażyło mi się osiągnąć. Próbowałem sobie przypomnieć, czy być może spotkałem się z takim błędem wcześniej, lecz nic nie przychodziło mi do głowy. Pomimo tworzenia projektów w katalogu X:\Work\ okazało się, że moje nieustanne ich porządkowanie (względem rodzaju technologii, przeznaczenia, przydatności itp) przerosło możliwości systemu i Visual Studio – głównym winowajcą jest tu system, którego ograniczenia co do długości ścieżek są opisane tutaj.

Wniosek

Nałogowe porządkowanie katalogów i plików może doprowadzić do problemu zbytniej normalizacji, który jak w przypadku baz danych prowadzi do ponownej i zamierzonej denormalizacji.


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)


Skróty klawiaturowe Visual Studio

To do czego wszyscy dążymy w naszej do wygody. Na wygodę składa się też szybkość tworzenia kodu – która jest głównym celem biznesu – im szybciej możesz kodować(*), tym szybciej skończysz projekt i tym szybciej zaczniesz kolejny.
(*) przy tym samym poziomie jakości kodu

W tym celu niezbędne wręcz jest zapoznanie się przynajmniej z podstawowymi skrótami dostępnymi w Visual Studio. Na MTS 2010 podczas sesji Chrisa Grangera na temat Visual Studio 2010 IDE Tips & Tricks można było usłyszeć, że najnowszy produkt posiada ponad 4000 komend (w tym skrótów klawiaturowych). Oczywiście nie jest możliwe poznanie wszystkich, jednakże te podstawowe warto sobie zapamiętać.

Dla zwolenników zapamiętywania wzrokowego Microsoft przygotował zestawienie takich skrótów w formie PDF – gotowych do wydrukowania. Polecam te dla Visual Studio 2010 i dla Visual Studio 2008

Moje top shostcuts to:

Shift + Ctrl + B Build
F5 Debug
Ctrl + . Zamiast Shift + Ctrl + F10 – “auto using”
F7 Kod C#
Shift + F7 Designer
Ctrl + D, I Immediate Window
Ctrl + W, S Solution Explorer
Ctrl + K, C Komentuj
Ctrl + K, U Odkomentuj
F12 Definicja medoty/klasy…

i wiele innych, które konsekwentnie poznaję :)


Code Definition Window – Szybki przegląd kodu

W życiu programisty bywają takie sytuacje (nawet dość często), że trzeba zapoznać się z czyimś kodem, czy też zwyczajnie przypomnieć sobie swój własny, napisany jakiś czas temu. Zdarza się tak, że podczas przekopywania się przez sterty plików w Visual Studio co chwilę korzystamy z opcji “Go to definition” z menu kontekstowego lub wybierając F12.

GoToDefinition

Takie działanie pozwala nam przeanalizować kod nawet gdy nazwy metod nie do końca odzwierciedlają jego działanie (są sytuacje, w których faktycznie może się “nie dać” i utrzymać nazwy metod rozsądnej długości :). Pomocne przy takiej analizie może być narzędzie “Code definition window”, które mozna otworzyć przez Menu -> View -> Code Definition Window lub przez wciśnięcie Ctrl + D, Ctrl + W

OpenCodeDecinitionWindow

Okno to pozwala nam na szybki podgląd definicji metod, klas, właściwości itp, na których aktualnie ustawiamy nasz kursor.

Code definition Window - Class

Code definition window - contructor

code definition window - method

Jednakże jeżeli najedziemy na metodę, która jest deklarowana w interfejsie wówczas Code Definition Window nie jest w stanie odszukać właściwej implementacji w przeciwieństwie do ReSharpera, który “rozumie” działanie interfejsów i szuka klas, które je implementują i poszczególnych interesujących nas metod.

Code definition window - interface

Niemniej jednak jest to narzędzie przydatne i przede wszystkim dostępne w Visual Studio bez dodatkowych opłat. Mała rzecz, a cieszy :)


  • 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: