. jak .NET

.NET & stuff blog by Maciej "Procent" Aniserowicz

11 brudnych sekretów Visual Studio

30 marca 2008 16:47 w kategorii: pro

Podobnych zestawień można znaleźć w sieci całe mnóstwo. Jednakowoż dorzucę swoje 11 kopiejek w postaci 11 punktów, o których dowiadywałem się z czasem i częstokroć niespodziewanie. Dlaczego 11? Bo nie mogłem się zdecydować na wykreślenie któregokolwiek z nich z listy. Poza tym Rammstein na każdym albumie zamieszcza 11 piosenek, które to stwierdzenie poddaje w wątpliwość sens jakichkolwiek związków przyczynowo-skutkowych zamieszczonych na niniejszym blogu.
Ale nieważne. Tak czy siak bez znajomości tej złotej jedenastki i tak bardzo wygodnie korzystało mi się z VS, jednak teraz nie potrafię sobie wyobrazić jak to możliwe. Kolejność losowa:

1) Przerwanie budowania solucji

Przy pisaniu dużego systemu solucja potrafi rozrosnąć się do niewygodnych rozmiarów. Można ją dzielić, można korzystać z własnych skryptów MSBuild czy NAnt... Jednak gdy w VS wciskamy z przyzwyczajenia CTRL+SHIFT+B i już na początku wiemy, że build się nie powiedzie - możemy go zatrzymać. Zawsze to kilka minut do przodu...
Podczas kompilacji w menu Build pojawia się opcja Cancel:

2) Edycja dwóch części jednego dokumentu - jednocześnie

VS (jak zresztą masa innych aplikacji, więc obejdzie się bez zbędnych pokłonów) oferuje możliwość ułożenia okien z kodem w grupach - obok siebie lub jedno pod drugim. Jednak oprócz tego mamy możliwość podobnego rozdziału tego samego dokumentu! A to za sprawą tego małego pypcia:

3) Frywolne dowolne zaznaczanie tekstu

Standardowe zaznaczanie - LMB i jedziemy. Można jednak zaznaczyć tekst niestandardowo, o tak:

Czasami przydatne (na przykład przy usuwaniu kilku modyfikatorów widoczności naraz z pól zadeklarowanych jedno pod drugim). Wystarczy przy zaznaczaniu przytrzymać ALT.

4) Skok do zamykającego/otwierającego nawiasu

Mamy kursor na klamrze otwierającej ciało metody, wciskamy ctrl + } - i kursor skacze na klamrę zamykającą. Powtórzenie czynności - i kursor znowu na klamrze otwierającej. Uwaga: to samo dotyczy wszystkich typów nawiasów jak również #region i #endregion itd.

5) Własne toolbary

Nie jest to nic odkrywczego, jednak chyba programiści zbyt rzadko korzystają z tej funkcjonalności VS. A szkoda, bo można dość znacząco zwiększyć funkcjonalność nawet wersji Express. Przykład:

Jak stworzyć owo cuś? Tools -> Customize -> Toolbars -> New.

6) Nawigacja przez Command Window

Nawet bez "wspomagaczy" takich jak R# czy CodeRush można znacznie usprawnić proces nawigacji między plikami w VS. Wystarczy skorzytać z Command Window. Przykładowa sekwencja klawiszy otwierająca plik Foo.cs: crtl+alt+a open foo.cs, gdzie pierwszy człon to otwarcie okna komend. Nie wygląda to-to super wygodnie, ale jest zdecydowanie szybsze niż szukanie pliku w Solution Explorer. Tym bardziej, że otrzymujemy swego rodzaju Intellisense filtrujące listę dostępnych plików "as-we-type".
Niestety funkcjonalność ta nie jest dostępna w wersji Express.

7) Nawigacja pomiędzy otwartymi plikami

Pracując z wieloma plikami naraz, jak to się niekiedy zdarza, przełączanie się między nimi możemy uzyskać poprzez klikanie w odpowiednie zakładki myszką (co jest czasochłonne, jak wszystkie operacje gryzoniem) albo przeskakiwanie pomiędzy oknami na modłę alttabową za pomocą ctrl+tab. Ostatnio jednak odkryłem jeszcze jedno rozwiązanie: skrót klawiszowy ctrl+alt+strzałka w dół rozwija listę otwartych plików, po której możemy zgrabnie poruszać się strzałkami! Git:

8) Nawigacja III - Ostatnia Krew - Bookmark Window

W tym punkcie ograniczę się do stwierdzenia: jeżeli nie korzystasz z zakładek w kodzie oferowanych przez VS (lub ich bogatszych odpowiedników z np. CodeRush) - to zacznij. Wspomnę jeszcze, że Bookmark Window to jedyne okno, które sprawdziło się u mnie w trybie "floating". Polecam wypróbowanie. Howgh!

9) Incremental Search

Po odkryciu tego cudeńka prawie przestałem korzystać ze standardowego wyszukiwania. Lubisz "incremental search", znane np. z Firefoxa? Oto ono w wersji Visualowej: ctrl+i. Mnie osobiście niesamowicie irytuje przeszukiwanie stron WWW w ten sposób, ale w kodzie sprawdza się znakomicie. Uwaga: nie przeszukuje zwiniętych regionów!

10) Immediate Window

Nie bardzo chce mi się wierzyć, że ktokolwiek z tego nie korzysta, ale na wszelki wypadek... Nie wyobrażam sobie debuggowania programu bez tego magicznego okienka. Popijając frappe zafrasowany dochodzisz do frapującego fragmentu kodu, ściągasz frak i przejmujesz stery za pomocą odpowiednio ustawionego break-point, otwierasz Immediate Window, i... hulaj dusza! Piszesz w nim kod wykonujący obliczenia, zmieniający wartość elementów dostępnych z aktualnego zakresu, wypisujący stan obiektów itd. itp. Jeżeli to znasz - nic nowego nie napiszę. Jeżeli nie znasz - musisz spróbować sam i nawet rzeka mych słów nie jest zdolna opisać eksplozji radości, jaka zaleje twe umęczone ciało po pierwszym zderzeniu z tym narządkiem.

11) Automatyczne dodawanie niezbędnych usings

Visual Studio zdejmuje z naszych barków konieczność pamiętania w jakiej przestrzeni nazw znajduje się dana klasa - teraz wystarczy tylko znać jej nazwę! Po jej napisaniu z prawej strony pojawia się Smart Tag. Rozwinąć go można albo klikając myszą, albo wciskając alt+shift+F10 (w VS 2008 domyslnie także ctrl+. - dzięki sebcyg!). Do wyboru dwie możliwości, jak na załączonym obrazku:


OKej, to tyle z gołego Visual Studio. Chciałbym zobaczyć jakieś komentarze, żeby mieć ogólny ogląd sytuacji czy takie mini-porady się komukolwiek w ogóle przydają? Jeżeli tak - które konkretnie? Aktualnie zaczynam zabawę z różnego rodzaju "wspomagaczami" wydajności i kiedyś-tam-w-przyszłości zamierzam opisać swoje wrażenia, niekiedy na wyraźną prośbę ich autorów. Także - ciąg dalszy nastąpi!


Komentarze

sebcyg

30 marca 2008 19:09

A propos porady 11 - jest też szybszy skrót klawiaturowy na wywołanie menu Smart Tag, a mianowicie [Ctrl] + [.] (zawsze to 2 klawisze, a nie 3;)

Polishwords

30 marca 2008 19:22

Twój blog został dodany do listy Polishwords. Gratulacje!

Procent

30 marca 2008 21:14

@sebcyg:
Faktycznie, w VS 2008 został dodany ten skrót - dzięki za info. Swoją drogą zacząłem się teraz zastanawiać dlaczego nigdy nie zmieniłem domyślnego mapowania:).

@Polishwords:
Git!

Nazgul

30 marca 2008 21:53

Ciekawy wpis, niektórych ułatwień nie znałem. Tak dalej :)

Jacek Ciereszko

30 marca 2008 22:11

Nice, szukałem jakiś czas temu numeru 2, choć 7 jest najlepszy, ctrl+tab już mnie dobija, za dużo zasłania.

Michal

1 kwietnia 2008 11:35

Skrót [Ctrl] + [.] jest cudny (dla wywołania menu Smart Tag). Pozdrawiam

Sebastian Kamisinski

2 kwietnia 2008 15:24

crtl+alt+strzalka w dol = monitor do góry nogami :P

Nazgul

2 kwietnia 2008 15:31

Masz kartę ati i włączone hotkeye w CCC ;)

Procent

2 kwietnia 2008 15:44

Kiedyś również się z czymś takim spotkałem, ale to była chyba jakaś inna kombinacja klawiszy. Wydaje mi się że to było standardowe zachowanie Windows - usunięte w którymś SP dla XP. Jeśli masz SP2 to pewnie jest tak jak pisze Nazgul:).

Pan Nickt :)

29 kwietnia 2008 19:57

@Sebastian Kamisinski:

Ja tak miałem przy grafice na chipset'cie Intel'a.
W takim wypadku: niebieska ikonka na tray'u, PPM i "Graphincs Options" -> "Hot Keys" -> "Disable".

Generalnie skróty z VS często gryzą się z różnymi cudacznymi aplikacjami, zwłaszcza extras'ami do grafiki :)

@procent:
fajna lista.
zawsze warto podpatrzeć praktyki innych.
Ja często używam jeszcze (sprawdźcie sami do czego służą te skórty):
Ctrl+ALt+L, Ctrl+Shift+C, Ctrl+K+P i Ctrl+K+N (przy czym zmieniam domyślne ustawienia VS tak aby obejmowały tylko dany dokument), Ctrl+L, a na nazwie metody F12.
W sumie to jeszcze duużo innych, ale te bardzo często.

Dodaj komentarz


 

[b][/b] - [i][/i] - [u][/u] - [quote][/quote] - [code][/code]