Používejte Visual Studio efektivně aneb užitečné klávesové zkratky

Tomáš Herceg       29. 8. 2013       C#, Visual Studio       9432 zobrazení

Nedávno jsem školil na jednom kurzu a jak je mým zvykem, na začátku se ptám účastníků, jak dlouho programují v .NETu, jaké typy aplikací píšou a tak podobně. A vždycky mě překvapí, že i ostřílení vývojáři, kteří dělají ve Visual Studiu více než 5 let, se za tu dobu nenaučili ani ty základní klávesové zkratky, které šetří spoustu času. Proto jsem se rozhodl vypsat ty nejdůležitější.

Ctrl-X, Ctrl-C a Ctrl-V – co dělají, asi každý ví. Ne každý si ale všimnul, že když nemáte označen žádný text a zmáčknete Ctrl-X, vyjme to do schránky aktuální řádek. A Ctrl-V řádek vloží před ten, na němž aktuálně stojím. Velmi užitečná věc, která se hodí na různé věci – já pomocí ní kód mažu, ale používám to i na přesouvání řádků. Sice se se mnou už pár lidí hádalo, že například na duplikování řádků je lepší mít speciální klávesovou zkratku, já si myslím, že to je celkem jedno a že rozdíl v tom je sotva postřehnutelný – namačkat na klávesnici Ctrl-C,V není problém.

Ctrl-čárka – tato klávesová zkratka zobrazí okno, pomocí kterého můžete vyhledat soubory, třídy, metody a další věci v projektu. Podporuje i camel case hledání, takže stačí psát jen velká písmena z názvu – např. pokud chci najít CompaniesViewModel, stačí napsat CVM. Pokud chci hledat podle více slov, stačí je psát malými písmeny, např. comp reg najde CompanyRegistrationViewModel.

Okno Navigate To

F12 – postavíte kurzor na název funkce, třídy, proměnné a po zmáčknutí F12 se provede akce Go To Definition, skočíte tedy na místo, kde je daná věc deklarována.

Ctrl-mínus – pokud často skáčete na různá místa v kódu, tato zkratka vás vrátí na předchozí pozici. Ideální po použití F12, vrátí vás to zase zpátky, ale použití je mnohem širší.

Ctrl-Shift-V – měli jste něco ve schránce, ale už je tam zase něco jiného? Zmáčkněte několikrát tuto zkratku a VS vám bude nabízet mezi několika posledními položkami ve schránce.

Ctrl-K,R – pokud máte kurzor například na funkci, tato klávesová zkratka vyvolá příkaz Find All References, objeví se okno, které ukáže, odkud danou funkci používáte.

Ctrl-Shift-F – Find In Files. Na rozdíl od klasického Ctrl-F toto zobrazí standardní vyhledávací okno a výsledky vypíše do speciálního podokna ve Visual Studia. Na jednom místě pak vidíte, kde jste v projektu nechali např. TODO komentáře. Kliknutím na řádek v tomto okně Visual Studio zobrazí skutečné umístění hledaného výrazu.

Find in Files

Ctrl-R,M – Extract Method. Označíte kus kódu, zmáčknete tuto zkratku, a Visual Studio vám nabídne vytvoření metody z označeného kódu.

Ctrl-tečka – Pokud někde použijete název, který neexistuje (např. neexistující funkci nebo třídu, která není naimportovaná v using namespace definicích), Visual Studio zobrazí takový miniaturní modrý obdélníček. V té chvíli můžete zmáčknout Ctrl-tečka, které zobrazí kontextové menu, v němž můžete vybrat jednu z možných akcí.

Ctrl-tečka

Umí to mimo jiné následující věci:

  • vygenerovat třídu, metodu, konstruktor, property, field (proměnnou uvnitř třídy) – prostě použijte název, který neexistuje, a zmáčkněte Ctrl-tečka
  • doplnit using definici na začátek souboru – napište název třídy z Frameworku nebo z nějaké referencované knihovny (včetně velkých a malých písmen), např. new WebClient, zmáčkněte Ctrl-tečka, a Visual Studio samo dogeneruje using System.Net;
  • doplnit overridy abstraktních metod nebo metody předepsané rozhraním – napíšete public class A : TřídaNeboRozhraní a zmáčknete Ctrl-tečka.

 

ReSharper

ReSharper ještě více usnadňuje psaní kódu a použití Visual Studia. Dříve jsem tento doplněk neměl rád, ale zároveň jsem ho strašně chtěl používat. Pokaždé, když vyšla nová verze, jsem jej nainstaloval, bohužel kvůli své pomalosti a znestabilnění Visual Studia byl vždy do týdne pryč – aby se mi VS zasekávalo klidně na 20 sekund na počítači s 16GB RAM a SSD, na to jsem opravdu neměl nervy.

Verze 7 a 8 spolu s VS 2012 ale již těmito nedostatky netrpí (anebo jsem je nezaznamenal, zpomalení je sotva postřehnutelné oproti čistému Visual Studiu) a proto jsem si zhruba před půl rokem ReSharper nainstaloval a už jsem u něj zůstal. Je pravda, že je třeba strávit tak 2 hodiny nastavováním, aby dělal to, co potřebujete, nebo lépe řečeno aby nedělal to, co nechcete, nicméně pak se používá dobře.

ReSharper disponuje spoustou funkcí, tipnul bych si, že jich využívám jen tak 10%. Mezi nejoblíbenější patří:

Live Templates – něco jako code snippets, prostě předdefinované šablony kódu s placeholdery. Tyto jsou ale chytřejší a co je nádherné – můžete je definovat buď globálně, nebo per-solution. Používám to celkem často na některé project-specific konstrukty.

Alt-Enter – univerzální klávesová zkratka s podobnou funkčností jako Ctrl-tečka, akorát má mnohem více možností.

Extract Variable Ctrl-R,V – označený výraz nadeklaruje jako proměnnou a pokud se ten samý výraz používá ještě někde, umí ho nahradit také. Velmi často používaná věc.

Ctrl-Alt-Shift-šipka nahoru/dolů – přesune aktuální metodu nahoru nebo dolů.

Práce s Resources – ReSharper umí string extrahovat do resources a upozorní vás, pokud není daná hláška přeložena do všech jazykových verzí.

Ctrl-W a Ctrl-Shift-W – Expand / Shrink selection – označí nejprve slovo a postupně rozšiřuje výběr až máte označenou např. celou metodu. Druhá klávesová zkratka dělá pravý opak – zmenšuje výběr na menší a menší logické celky.

Generate Equality Members – některé třídy potřebují implementovat metody Equals a GetHashCode – vyberete properties, podle nichž chcete porovnávat, a ReSharper vygeneruje jak funkci Equals (která je jednoduchá), tak i GetHashCode, kterou už člověk vymýšlí těžko.

Doplněk ForTea – ReSharper je rozšiřitelný pomocí pluginů a jeden z velmi pěkných doplňku je ForTea – podporuje obarvování kódu a IntelliSense pro T4 šablony. Subjektivně mi ten plugin přijde lepší než Tangible T4 Editor, i když tam jsem vždy používal jen free verzi, placená je určitě lepší.

 

 

Jaké jsou vaše oblíbené funkce, které šetří čas? Ať už v samotném VS, nebo v ReSharperu?

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Doplňující tipy

ReSharper také podporuje vlastní extensions. Jedna z nich, která šetří spoustu času je https://resharper-plugins.jetbrains.com/... která umí generovat živý kód.

Protože ReSharper občas školím, udělal jsem nedávno i vlastní cheat sheet s užitečnými klávesovými zkratkami: https://www.miroslavholec.cz/blog/reshar... (na stránce jsou i odkazy na cheat sheety přímo od JetBrains)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Možná trošku Off Topic, ale

Nevíte prosím někdo, jak zařídit, aby si VS2015 community pamatovalo poslední stav před uzavřením, včetně toho (teď se omlouvám za asi neodborný termín), které bloky jsou "collapsed" -> schovaný pomocí mínus?

Mě se po spuštění vždy otevřou správné záložky na správných místech, ale vše je "rozbalené."

Jinak díky za pěkný článek a rady v diskuzi, musím si to vytisknout a nalepit někam k monitoru, ať se to naučím :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Další zkratky

Tohle je hezký článek.

O visual studiu a jeho širokých možnostech bych uvítal více článků

Další oblíbené kratky:

F5 - spuštění/debuging

F10,F11,F9 atd.. při ladění kódu

shift +f5 vypnutí debugované applikace

ctrl +shift +b vybuildění

F7 - zobrazí code behind (například na .xaml okně)

shift + F7 - zobrazí design

ctrl +k+k - přidá či odebere záložku

ctrl + b +n - přejde na další záložku

ctrl +k +d zarovná kód

ctrl + k +c - zakomentuje vybrané řádky

ctrl +k +u odkomentuje vybrané řádky

ctrl +m +m zabalí aktuální "region"

shift +alt +c - přidání nové třídy

alt + tažení myší - výběr textu nezávisle na řádcích (a dá se takto psát na více řádků zároveň)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Oblibena zkratka

Ctrl-K,D zarovnani kodu

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Skrytý kód.

Proč máte cenzurované screenshoty? To se za svůj kód tak stydíte?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ne, ale je to z reálného projektu a nechci ukazovat cesty na disku a název toho projektu. Pro pochopení obsahu článku rozmazané části nejsou podstatné.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback