6. diel - Visual Studio - Pomocníci pri písaní kódu
V minulej lekcii, Visual Studio - Navigácia v súboroch , sme sa venovali navigáciu v súboroch. Visual Studio obsahuje veľa nástrojov, ktoré uľahčujú písanie zdrojového kódu. Dnes sa na niektoré z nich pozrieme. Začneme so známym IntelliSense.
INTELLISENSE
IntelliSense je našepkávač, ktorý vie prechádzať jednak priamo
knižnice .NET Frameworku či iných frameworku a predvolené knižnice, vie ale
našepkávať aj zo všetkých zdrojových kódov v projekte. Poďme si to
skúsiť. Na riadok 24 začnite písať cons... Visual štúdio
zatiaľ neurobí nič, aby nás od písania nerušilo. Stlač Ctrl +
Medzerník, čím si vynútime zapnutia IntelliSense.

Roztvorí sa zoznam možností ako prvý sa nachádza const, ale
to ešte nie je to čo hľadáme, dopíšte písmeno o. Ďalšia
zhoda je Console, čo je to, to čo hľadáme, potvrďte
Enter alebo Tab.

Visual štúdio slovo dokončí. Keď zadáme bodku, Visual Studio sa už začne skúmať, čo všetko sa v Consoli nachádza a čo môžeme využiť.

Začnite písať w, už teraz vám Visual Studio ponúka zhodu s
W a zároveň len to, čo môžeme použiť v objekte
Console.

Všimnite si, že IntelliSense ukazuje aj popis, čo daná metóda / funkcia
/ trieda robí a aké sú jej parametre. Šípkami sa môžete v ponuke
orientovať. Posuňte sa nadol o jednu na WriteLine a
potvrďte.
Urobte guľatú zátvorku, editor ju dokončí, ale to nás nezaujíma. IntelliSense zistil, že chceme písať parametre tejto funkcii a tak nám "našepká", čo sa do parametrov tejto funkcie hodí. Šípka vľavo a počet signalizuje počet možností, ako môžeme parametre zapísať. Preklikajte sa na 11. možnosť zápisu, môžete použiť šípky na klávesnici.

Popisok hovorí, že v tomto parametri sa bude zadávať textový reťazec,
ktorý metóda doplní zakončením riadku a odošle na štandardný výstup.
Parameter sa volá value a jeho popis hovorí, že to je práve tá
hodnota, ktorá sa vypíše.
Napíšme úvodzovky. Editor okamžite doplní koncovú. A do úvodzoviek
napíšte nejaký text, napríklad "Visual Studio je super".
Dostaňte sa na koniec riadku (ako klasicky vo Windows, klávesa End)
a doplňte bodkočiarka ;.
Ak zoznam parametrov poznáte, nemusíte nič preklikávať, IntelliSense to spozná a sám vyberie najvhodnejší zoznam parametrov, ktorý vášmu zápisu zodpovedá.
Ikony v IntelliSense
IntelliSense obsahuje veľa ikon, ktoré ukazujú o aký typ položky sa jedná. Pri každom jazyka, platformy a technológie sa ikony líšia, niektoré technológie rôzne ikony nepoužívajú. Celý zoznam ikon a ich význam sa nachádza v dokumentácii. V podstate vám však stačí vedieť, ako vyzerá premenná (modrá kostička), trieda (žlto-oranžový diagram), vlastnosť (čierny francúzsky kľúč) a metóda (ružová kostička). Tu tieto ikonky uvidíte veľa často, takže si na to rýchlo zvyknete. Určite sa je neučte všetky, je to zbytočné. Programujem vo Visual Studiu niekoľko rokov a niektoré som v tej dokumentácii videl prvýkrát.
Manipulácia s riadkami
V úvode cvičení som vám povedal, nech za riadok 24 napíšeme nejaký kód. Lenže som sa pomýlil. Náš kód:
Console.WriteLine("Visual Studio je super.");
potrebujeme na riadku 15 hneď za otvárajúci zloženú zátvorkou. Zrejme by ste teraz riadok vybrali a vložili, tam kde má byť, my to ale urobíme inak ..
Presun riadku nahor alebo nadol
Pomocou klávesouvé skratky Alt a šípka hore alebo dole riadok,
na ktorom sa nachádza kurzor, prehodíte buď s horným alebo dolným, inými
slovami riadok presuniete v smere stlačené šípky. Presuňme teda riadok na
začiatok bloku za {.
Kopírovanie riadku
Povedzme, že riadok (ak ste si to nerozbombardovali, tak by mal mať číslo 46) s kódom
Console.ReadKey();
chceme mať dvakrát. Riešením je riadok skopírovať. Vo Visual Studiu,
keď nemáte nič vybraného a stlačíte Ctrl + C,
skopíruje sa celý riadok. Ctrl + V ho samozrejme
vkladáme. Vložme ho 2 × vždy za príkaz Console.WriteLine bez
parametra (riadky 25 a 35).
Vybratie riadku
S pomocou klávesovej skratky Ctrl + X (keby niekto netušil, tak táto skratka klasicky vymaže vybratý text a vloží ho do schránky) môžeme riadok vynímať rovnakým spôsobom ako kopírovať. Osobne to častejšie používam k odstraňovaniu riadku, čo sa dá urobiť aj klávesouvou skratkou Ctrl + L.
Vymaže teda pôvodný príkazy Console.WriteLine (aktuálne na
riadkoch 25 a 36).
Nastavenie klávesových skratiek
V predchádzajúcich 3 podkapitolách som spomenul niekoľko klávesových skratiek, ktoré vám teoreticky nemusí vyhovovať. Preto si ukážme ako si možno klávesové skratky prenastaviť. V ponuke Tools si otvoríte nastavenia (Tools> Options) a presuňte sa do skupiny Enviroment> keyboard.

V pravej časti okna máme možnosti nastavenia klávesových skratiek. Hneď
hore je schéma klávesových skratiek. Môžeme si tu vybrať schému zo
starších verzií Visual Štúdií alebo verzií jazykov. V prostrednej časti
je potom zoznam všetkých funkcií Visual Studia a v spodnej časti potom
možno funkciám priradiť klávesovú skratku. Pretože funkciou je veľa, je
nad zoznamom vyhľadávacie políčko a keď už sme boli u tých manipuláciou
s riadkami, nájdeme si slovo line.

V zozname sú funkcie do seba zanorené a oddelené bodkami. zápis
EditorContextMenus.CodeWindow.ExecuteLineInInteractive
teda označuje nástroj ExecuteLineInInteractive, ktorý sa
týka nástroje CodeWindow a ten zas nástroje
EditorContextMenus.
Podstatné pre nás budú položky v nástroji Edit, čo je
editor zdrojového kódu. Vo verzii 2013 Profesional sa jedná o nástroje
(vypíšte si nástroje, ktoré vás zaujmú):
BreakLine- zalomia riadok (klasický enter)LineUp,LineDown,LineStart,LineEnd- posunie kurzor na rovnakú pozíciu o riadok ktorej / výš / na začiatok riadku / na koniec riadku.LineUpExtend,LineDownExtend,LineStartExtend,LineEndExtend- Vyberie oblasť od kurzora k rovnakému miestu na predchádzajúcom riadku / nasledujúcom riadku / začiatkom riadku / koncom riadku

Po zavolaní LineEndExtend:

LineStartAfterIndentation- Chová sa podobne akoLineStart, ale niekedy je začiatok riadka mimo začiatok riadka za odsadením. Táto funkcia vynechá medzery alebo tabulátory dosazující riadokLineStartAfterIndentationExtend- Chová sa podobne akoLineStartExtend, ale rovnako akoLineStartAfterIndentationvynecháva odsadenie riadku.LineLastChar- posunie kurzor na posledný znak príkazu. Inými slovami vynechá bodkočiarka, zložené zátvorky a podobné znaky.LineLastCharExtend- vyberie oblasť od kurzora po posledný znak príkaze podobne akoLineLastChar.

Po zavolaní LineLastCharExtend:

ScrollLineUp,ScrollLineDown- posunie posúvač (scroll bar) o jeden riadok nižšie / vyššieScrollLineBottom,ScrollLineCenter,ScrollLineTop- posunie posúvač tak, aby riadok na ktorom je kurzor bol na spodu / stredu / vrchu obrazovky.

Po zavolaní ScrollLineTop:

TabifySelectedLines,UntabifySelectedLines- Zmení medzery za tabulátormi a naopak.LineCut- odoberie riadok s umiestneným kurzorom a vloží ho do schránkyLineDelete- vymaže riadok s umiestneným kurzoromDeleteBlankLines- vo vybranej oblasti odstráni prázdne riadkyLineOpenAbove,LineOpenBelow- vloží nový riadok pred / za riadok s umiestneným kurzorom a na novo vzniknutý riadok umiestni kurzorIncreaseLineIndent,DecreaseLineIndent- zvýši / zníži odsadenie riadku o jeden tabulátorLineTranspose- prakticky len prehodí vybraný riadok s riadok o jeden nižšieLineStartAfterIndentationPrev,LineStartAfterIndentationNext- presunie kurzor za odsadenie předchozícho / nasledujúceho riadku

Po zavolaní LineStartAfterIndentationPrev:

Blokový výber
Pre ďalšie funkcie je dobré vedieť, čo je to blokový (niekedy označované stĺpcový) výber a ako sa robí. Ide o to, že niekedy potrebujeme vybrať oblasť vnútri riadkov. Vezmeme si príklad tohto textu:
+----+---------------+------------+ | ID | IP | DATE | +----+---------------+------------+ | 1 | 192.168.0.15 | 2015-02-05 | | 2 | 192.168.0.200 | 2010-03-15 | | 3 | 192.168.0.10 | 2009-09-09 | +----+---------------+------------+
Takýto formát je výstupom rôznych exportov, atď. Potrebujeme z neho len
stĺpec IP. Za normálnych okolností by sme museli okolité
stĺpca odmazať. So znalosťou vyhľadávacích a nahradzovacia nástrojov by
to síce nebol až zas taký problém, ale bolo by to zbytočne pracné. Preto
existuje blokový výber, ktorý funguje pri pridržaní klávesu Alt
a vďaka nemu si môžeme vybrať ľubovoľnú, štvorcovú oblasť v
dokumente.

Okrem možnosti Alt + myš Visual Studio ešte obsahuje funkcie pre tento výber:
LineUpExtendColumn,LineDownExtendColumn- posunie blokový výber o riadok vyššie / ktorejLineStartExtendColumn,LineEndExtendColumn- posunie blokový výber k začiatku / konci riadkuLineFirstColumn- posunie kurzor na prvý stĺpca riadku (začiatok riadka)LineFirstColumnExtend- vyberie oblasť od kurzora na prvý stĺpec riadkuMoveSelectedLinesUp,MoveSelectedLinesDown- posunie vybrané riadky hore / dole
Funkcia začínajúce na Emacs a Brief preberajú
funkcie editorov Emacs a Brief, ktorými sa nebudeme
zaoberať
Nastavovanie klávesových skratiek
Keď máte vybrané funkcie, ktoré vám prídu zaujímavé, a chcete ich využívať, je dobré si k nim nastaviť klávesovú skratku. Keď si ich označíte v spodnej časti funkcií, zvýrazní sa políčko, kde sú vypísané všetky klávesové skratky. K jednej funkciu totiž môžete mať priradených viac klávesových skratiek. Pokiaľ chcete nejakú odobrať, vyberiete ju a stlačíte Remove.

Ak chcete pridať klávesovú skratku, kliknete do políčka "Press shortcut keys" a stlačíte klávesu alebo klávesovú kombináciu. Vľavo od políčka potom ešte musíte vybrať kontext, kde bude tlačidlo funkčné, najčastejšie sa jedná buď o okna (napr. Solution Explorer) a editor kódu (Text Editor).

Po priradení sa zvýrazní ešte tretie políčko, kde je vypísané, kde všade je klávesa použitá, aby nedošlo ku kolíziám (jedna klávesová skratka použitá u viac funkcií).
Nastavte si klávesové skratky podľa ľubovôle, všetko vyskúšajte a tešte sa na budúci lekciu, Visual Studio - Debugging , kde v hlavnej úlohe budú pôsobiť Snippet. Do komentárov pod článkom môžete napísať, o ktorých funkciách ste nevedeli, ktoré vám prídu užitočné, totálne zbytočné a aké (chytré, aby sa lepšie zapamätali) klávesové skratky ste si k nim nastavili.
V budúcej lekcii, Visual Studio - Debugging , si ukážeme debuggovanie C# .NET aplikácií. Na praktických príkladoch si osvojíme základné možnosti debuggovania.
