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 akoLineStartAfterIndentation
vynechá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.