Best of Visual Studio + ReSharper
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.
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.
Oblíbené live templates (vč. mnemonics)
ctor
konstruktorctorp
parametrický konstruktorp*
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 typv*
private field, kde * je typc
třídam
void metodats
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
.
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.
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.
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.
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.