6. díl - Visual Studio - Pomocníci při psaní kódu

C# .NET Visual Studio Visual Studio - Pomocníci při psaní kódu

Visual Studio obsahuje spoustu nástrojů, které usnadňují psaní zdrojového kódu. Dnes se na některé z nich podíváme.. Začneme se známým IntelliSense.

IntelliSense

IntelliSense je našeptávač, který umí procházet jednak přímo knihovny .NET Frameworku či jiných Frameworků a výchozí knihovny, umí ale našeptávat i ze všech zdrojových kódů v projektu. Pojďme si to zkusit. Na řádek 24 začněte psát cons... Visual studio zatím neudělá nic, aby nás od psaní nerušilo. Zmáčkněme Ctrl + mezerník čímž si vynutíme zapnutí IntelliSense.

Rozevře se seznam možností jako první se nachází const, ale to ještě není to co hledáme, dopište písmeno o. Další shoda je Console, což je to, to co hledáme, potvrďte enterem nebo tabulátorem.

Visual studio slovo dokončí.. Když zadáme tečku, Visual Studio se již začne zkoumat, co vše se v Consoli nachází a co můžeme využít.

Začněte psát w, již teď Vám Visual Studio nabízí shodu s W a zároveň pouze to, co můžeme použít v objektu Console.

Všimněte si, že IntelliSense ukazuje i popisek, co daná metoda/funkce/třída dělá a jaké jsou její parametry. Šipkami se můžete v nabídce orientovat. Posuňte se dolů o jednu na WriteLine a potvrďte.

Udělejte kulatou závorku, editor ji dokončí, ale to nás nezajímá. IntelliSense zjistil, že chceme psát parametry této funkci a tak nám "našeptá", co se do parametrů této funkce hodí. Šipka vlevo a počet signalizuje počet možností, jak můžeme parametry zapsat. Proklikejte se na 11 možnost zápisu, můžete použít šipky na klávesnici.

Popisek říká, že v tomto parametru se bude zadávat textový řetězec, který metoda doplní zakončením řádku a odešle na standartní výstup. Parametr se jmenuje value a jaho popisek říká, že to je právě ta hodnota, která se vypíše.

Napišme uvozovku. Editor okamžitě doplní koncovou. A do uvozovek napište nějaký text třeba „Visual Studio je super“. Dostaňte se na konec řádku (jako klasicky ve Windows, klávesa End) a doplňte středník.

Pokud seznam parametrů znáte, nemusíte nic proklíkavat, IntelliSense to pozná a sám vybere nejvhodnější seznam parametrů, který vašemu zápisu odpovídá.

Ikony v IntelliSense

IntelliSense obsahuje spoustu ikon, které ukazují o jaký typ položky se jedná. U každého jazyka, platformy a technologie se ikony liší, některé technologie různé ikony nepoužívají. Celý seznam ikon a jejich význam se nachází v dokumentaci. V podstatě vám však stačí vědět, jak vypadá proměnná (modrá kostička), třída (žluto-oranžový diagram), vlastnost (černý francouzský klíč) a metoda (růžová kostička). Tady tyto ikonky uvidíte hodně často, takže si na to rychle zvyknete. Určitě se je neučte všechny, je to zbytečné. Programuji ve Visual Studiu několik let a některé jsem v té dokumentaci viděl poprvé.

Manipulace s řádky

V úvodu cvičení jsem Vám řekl, ať za řádek 24 napíšeme nějaký kód. Jenže jsem se spletl. Náš kód

Console.WriteLine("Visual Studio je super.");

potřebujeme na řádku 15 hned za otevírající složenou závorkou. Nejspíš byste teď řádek vyjmuli a vložili, tam kde má být, my to ale uděláme jinak..

Přesun řádku nahoru nebo dolů

Pomocí klávesouvé zkratky Alt a šipka nahoru nebo dolů řádek, na kterém se nachází kurzor prohodíte buď s horním nebo dolním, jinými slovy řádek přesunete ve směru stisknuté šipky. Přesuňme tedy řádek na začátek bloku za {.

Kopírování řádku

Řekněme, že řádek (pokud jste si to nerozbombardovali, tak by měl mít číslo 46) s kódem

Console.ReadKey();

chceme mít dvakrát. Řešením je řádek zkopírovat. Ve Visual Studiu, když nemáte nic vybraného a stisknete Ctrl + C, zkopíruje se celý řádek. Ctrl + V ho samozřejmě vkládáme. Vložme ho 2× vždy za příkaz Console.WriteLine bez parametru (řádky 25 a 35).

Vyjmutí řádku

S pomocí klávesové zkratky Ctrl + X (kdyby někdo netušil, tak tato zkratka klasicky vymaže vybraný text a vloží ho do schránky) můžeme řádek vyjímat stejným způsobem jako kopírovat. Osobně to častěji používám k odstraňování řádku, což se dá udělat i klávesouvou zkratkou Ctrl + L.

Vymažme tedy původní příkazy Console.WriteLine (aktuálně na řádcích 25 a 36).

Nastavení klávesových zkratek

V předchozích 3 podkapitolách jsem zmínil několik klávesových zkratek, které vám teoreticky nemusí vyhovovat. Proto si ukažme jak si lze klávesové zkratky přenastavit. V nábídce Tools si otevřete nastavení (Tools > Options) a přesuňte se do skupiny Enviroment > keyboard.

V pravé části okna máme možnosti nastavení klávesových zkratek. Hned nahoře je schéma klávesových zkratek. Můžeme si zde vybrat schéma ze starších verzí Visual Studií nebo verzí jazyků. V prostřední části je pak seznam všech funkcí Visual Studia a ve spodní části pak lze funkcím přiřadit klávesovou zkratku. Protože funkcí je hodně je nad seznamem vyhledávací políčko a když už jsme byli u těch manipulací s řádky, najdeme si slovo line.

V seznamu jsou funkce do sebe zanořené a oddělené tečkami. Zápis

EditorContextMenus.CodeWindow.ExecuteLineInInteractive

tedy označuje nástroj ExecuteLineInIn­teractive, který se týká nástroje CodeWindow a ten zas nástroje EditorContextMenus.

Podstatné pro nás budou položky v nástroji Edit, což je editor zdrojového kódu. Ve verzi 2013 Profesional se jedná o nástroje (vypište si nástroje, které vás zaujmou):

BreakLine – zalomí řádek (klasický enter)

LineUp, LineDown, LineStart, LineEnd – posune kurzor na stejnou pozici o řádek níž/výš/na začátek řádku/na konec řádku.

LineUpExtend, LineDownExtend , LineStartExtend, LineEndExtend – Vybere oblast od kurzoru k stejnému místu na předchozím řádku/následujícím řádku/začátkem řádku/koncem řádku

Po zavolání LineEndExtend:

LineStartAfte­rIndentation – Chová se podobně jako LineStart, ale někdy je začátek řádku mimo začátek řádku za odsazením. Tato funkce vynechá mezery nebo tabulátory dosazující řádek

LineStartAfte­rIndentationEx­tend – Chová se podobně jako LineStartExtend, ale stejně jako LineStartAfte­rIndentation vynechává odsazení řádku.

LineLastChar – posune kurzor na poslední znak příkazu. Jinými slovy vynechá středník, složené závorky a podobné znaky.

LineLastCharExtend – vybere oblast od kurzoru po poslední znak příkazu podobně jako LineLastChar.

Po zavolání LineLastCharExtend:

ScrollLineUp, ScrollLineDown – posune posuvník (scroll bar) o jeden řádek níže/výše

ScrollLineBottom, ScrollLineCenter, ScrollLineTop – posune posuvník tak aby řádek na kterém je kurzor byl na spodu/středu/vrchu obrazovky.

Po zavolání ScrollLineTop

TabifySelected­Lines, UntabifySelec­tedLines – Změní mezery za tabulátory a naopak.

LineCut – odebere řádek s umístěným kurzorem a vloží jej do schránky

LineDelete – vymaže řádek s umístěným kurzorem

DeleteBlankLines – ve vybrané oblasti odstraní prázdné řádky

LineOpenAbove, LineOpenBelow – vloží nový řádek před/za řádek s umístěným kurzorem a na nově vzniklý řádek umístí kurzor

IncreaseLineIndent, DecreaseLineIndent – zvýší/sníží odsazení řádku o jeden tabulátor

LineTranspose – prakticky jen prohodí vybraný řádek s řádekem o jeden níže

LineStartAfte­rIndentationPrev, LineStartAfte­rIndentationNext – přesune kurzor za odsazení předchozícho/nás­ledujícího řádku

Po zavolání LineStartAfte­rIndentationPrev

Blokový výběr

Pro další funkce je dobré vědětm co je to blokový (někdy označováno sloupcový) výběr a jak se dělá. Jedná se o to, že někdy potřebujeme vybrat oblast uvnitř řádků. Vezmeme si příklad tohoto 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 |
+----+---------------+------------+

Takový formát je výstupem různých exportů, atd…. Potřebujeme z něj jen sloupec IP. Za normálních okolností bychom museli okolní sloupce odmazat. Se znalostí vyhledávacích a nahrazovacích nástrojů by to sice nebyl až zas takový problém, ale bylo by to zbytečně pracné. Proto existuje blokový výběr, který funguje při přidržení klávesy Alt a díky němu si můžeme vybrat libovolnou, čtvercovou oblast v dokumentu.

Krom možnosti Alt + myš Visual Studio ještě obsahuje funkce pro tento výběr.

LineUpExtendColumn, LineDownExten­dColumn – posune blokový výběr o řádek výš/níž

LineStartExten­dColumn, LineEndExtendColumn – posune blokový výběr k začátku/konci řádku

LineFirstColumn – posune kurzor na první sloupce řádku (začátek řádku)

LineFirstColum­nExtend – vybere oblast od kurzoru k prvnímu sloupci řádku

MoveSelectedLi­nesUp, MoveSelectedLi­nesDown – posune vybrané řádky nahoru/dolů

Funkce začínající na Emacs a Brief přebírají funkce editorů Emacs a Brief, kterými se nebudeme zabývat

Nastavování klávesových zkratek

Když máte vybrané funkce, které vám přijdou zajímavé, a chcete jich využívat, je dobré si k nim nastavit klávesovou zkratku. Když si je označíte ve spodní části funkcí, zvýrazní se políčko, kde jsou vypsány všechny klávesové zkratky. K jedné funkci totiž můžete mít přiřazených více klávesových zkratek. Pokud chcete nějakou odebrat, vyberete ji a zmáčknete Remove.

Pokud chcete přidat klávesovou zkratku, kliknete do políčka „Press shortcut keys“ a zmáčknete klávesu nebo klávesovou kombinaci. Vlevo od políčka pak ještě musíte vybrat kontext, kde bude klávesa funkční, nejčastěji se jedná buď o okna (např. Solution Explorer) a editor kódu (Text Editor).

Po přiřazení se zvýrazní ještě třetí políčko, kde je vypsáno, kde všude je klávesa použitá, aby nedošlo ke kolizím (jedna klávesová zkratka použita u více funkcí).

Nastavte si klávesové zkratky podle libosti, všechno vyzkoušejte a těšte se na příští díl, kde v hlavní roli budou působit Snippety. Do komentářů pod článkem můžete napsat, o kterých funkcích jste nevěděli, které vám přijdou užitečné, totálně zbytečné a jaké (chytré, aby se lépe zapamatovali) klávesové zkratky jste si k nim nastavili.


 

  Aktivity (1)

Článek pro vás napsal Michal Žůrek (misaz)
Avatar
Autor se věnuje tvorbě aplikací pro počítače, mobilní telefony, mikroprocesory a tvorbě webových stránek a webových aplikací. Nejraději programuje ve Visual Basicu a TypeScript. Ovládá HTML, CSS, JavaScript, TypeScript, C# a Visual Basic.

Jak se ti líbí článek?
Celkem (10 hlasů) :
4.14.14.14.1 4.1


 


Miniatura
Všechny články v sekci
Visual Studio
Miniatura
Následující článek
Visual Studio - Snippety

 

 

Komentáře

Avatar
skala_honza
Člen
Avatar
skala_honza:

Já osobně jako pomocníka k programování používám Resharper, pro studenty je zdarma a pro takové nezkušené programátory jako jsem já se hodí.

Odpovědět 23.5.2015 11:13
Když nevím co s tím tak je chyba v compileru.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.