Miroslav Holec
Premium

Best of Visual Studio + ReSharper

Miroslav Holec   28. listopadu 2014  update 29. března 2016

Tento článek byl napsán v roce 2014. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.

Na tomto místě shrnu několik velmi užitečných features, které používám v rámci Visual Studio 2013 a rozšíření ReSharper 8. Usnadňují mi většinu práce a šetří opravdu mraky času.

Smart shortcuts intellisense

ReSharper rozšiřuje chytrou IntelliSense ve Visual Studiu, která je prakticky stejně k ničemu, protože nikdy nic nenajde. Hledat se dá v různých oknech (find usages / find symbol) ale i přímo v kódu. Když chci v kódu napsat StreamWriter, stačí napsat stw nebo swr apod. a ReSharper už domyslí, co potřebuju.

Smart IntelliSense

Live templates

Stále více kódu si generuju, speciálně v kombinaci s rozšířeními ReSharper + Mnemonic Templates. Když chci napsat metodu typu string, stačí napsat ms a odrazit tabulátorem. Hotovo. Chci property typu integer, napíšu jen pi a odrazím tabulátorem. Mnemonic templates obsahují přes 500 templates pro C# a VB, jejichž názvy jsou vymýšlené dostatečně logicky na to, abych se nemusel nic učit ale rychle vše začal používat.

Live templates

Oblíbené live templates (vč. mnemonics)

  • ctor konstruktor
  • ctorp parametrický konstruktor
  • p* property, kde * je typ (s = string, i = int, t = datetime...)
  • m* metoda, kde * je typ (s = string, i = int, t = datetime...)
  • M* statická metoda, kde * je typ
  • v* private field, kde * je typ
  • c třída
  • m void metoda
  • ts test metoda (občas je potřeba template upravit kvůli anotaci)

Všechny live templates se dají zobrazit zkratkou CTRL+E,L.

Pro generování konstruktoru s vybranými parametry lze použít ALT+Ins.

Code surrounding

Stejně jako Live templates se hodí občas obalit existující kód podmínkami, try/catch bloky nebo cykly. ReSharper na to má zkratku CTRL+E,U nad vybraným řádkem nebo selekcí. Odpadá tak obskurní boj se závorkami.

Go to

Síla různých navigačních zkratek ReSharperu tkví v kombinaci s propracovanou intellisense. Používám nejčastěji tyto zkratky:

  • Go to file/folder CTRL+SHIFT+T
  • Go to whatever CTRL+T
  • Go to implementation CTRL+F12
  • Go to base/derived ALT+Home/End
  • Find usages ALT+SHIFT+F12

Co je na ReSharperu taky geniální je možnost používat různá inline hledání místo zbytečně kompikovaných oken ve Visual Studio. Porovnejte standardní SHIFT+F12 vs. mnou oblíbené ALT+SHIFT+F12.

Find usages inline

File exploration

Při hledání něčeho přímo v souboru se hodí skákání po memberech pomocí ALT+Up/Down. Na dohledání konkrétní metody ALT+\ a následně lze opět použít skvělou intellisense.

Find member in file

Pro vyhledávání symbolu (třeba property) v souboru používám inline search ALT+SHIFT+F11 a následně přeskakuji po nálezech pomocí CTRL+SHIFT+Up/Down.

Občas se hodí watch v souboru. Nevím proč je pod zkratkou ALT+F12 (čekal bych 11). Tato feature zobrazí kukátko v souboru nad stejným souborem, takže lze upravovat jeden a tentýž soubor na dvou místech bez toho, aniž byste opustily výchozí místo.

Go to declaration + decompile

Na rozdíl od VS mohu dekompilovat interní knihovny .NETu a trochu se i dozvědět jak věci fungují. Zkratka je stejná, F12 ale je potřeba provést ještě donastavení ReSharperu aby dekompilovat cizí kód (resp. stáhl si nejprve symboly). Jděte do Resharper options ALT+R,O > External sources a zvolte možnost Navigation to sources + check na decompile methods.

Small things :)

Jsou i některé maličkosti, které dokážou nějaký čas ušetřit. Opět se jedná o zkratky - Duplicate line / selection CTRL+D) - Comment line / Uncomment line CTRL-K,C / CTRL-K,U

Start without debugging

Tohle není záležitost ReSharperu ale přímo Visual Studia. Zjistil jsem, že řada vývojářů spouští projekt zelenou šipkou "Start" a v podstatě ani netuší na co klikají. Klávesovou zkratkou je F5 a znamená to (DEBUG). Pokud tedy potřebujete pouze spustit projekt bez debugování, toto je ta nejpomalejší možnost, kterou můžete udělat. Standardní spuštění bez debuggeru je CTRL+F5.

Unit tests

CTRL+U,A připojí UT k vybrané session, případně umí i vytvořit novou session. Testy v session se pak spustí přes CTRL+U,Y. Díky těmto dvěma zkratkám se dá všechno celkem rozumně ovládat společně s navigací. Pro spuštění jednoho konkrétního testu si jen jednoduše kliknu.

Unit tests management

Spell Checker

Další skvělé rozšíření pro ReSharper. Instaluje se opět přes extension manager ALT+R,X a jmenuje se ReSpeller. Umí kontrolovat anglické názvy čehokoliv (i komentáře) a předejít tak zbytečným překlepům.

Spell Checker

Trocha barev do života

Protože obarvování members ve Visual Studio není dotaženo úplně k dokonalosti, stačí si zapnout obarvování pomocí ReSharperu. Resharper options ALT+R,O > Code inspection > Settings a tady se zacheckuje Color identifiers + Highlight color usages.

ToDo Explorer

Backlogy mají své využití pro zakládání tasků ale pokud už na nějakém tasku pracujete a potřebujete si dělat malé úkoly související s kódem, je lepší použít skvělý ReSharper To-Do Explorer CTRL+ALT+D. Jeho výhodou je možnost vytvářet úkoly na základě pravidel (klíčová slova v komentářích nebo symbolech).

Stack Trace explorer

Když mám ve schránce zkopírovanou chybu ze stacku (třeba z notepadu, z konzole, z webu) tak stisknutím CTRL+E,T se zobrazí Stack Trace explorer, který mi umožňuje navigovat se snadněji po kódu, aniž bych musel něco hledat.

Závěr

Zkratek přidává ReSharper do Visual Studia celkem velkou řadu ale skutečně užitečné mi přijdou všechny ty, které jsem vypsal v článku. Používám je dnes a denně a teprve když sedím u někoho, kdo je nepoužívá vidím ty zbytečné časové ztráty a hlavně trápení se s otravnýma rutinama, které se dají tak snadno odbourat.

ReSharper konzultace + sleva 50 %

V návaznosti na proběhlá školení v Praze a Brně nabízím ReSharper konzultace včetně slevy 50% na osobní nebo firemní licence. Pro více informací mě kontaktujte.