November Black Friday C/C++ week
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Pouze tento týden sleva až 80 % na e-learning týkající se C/C++

Lekce 5 - Visual Studio - Navigace v souborech

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Vítám vás u pokračování kurzu, kde si představujeme možnosti Visual Studia. V minulé lekci, Visual Studio - Vyhledávání a nahrazovaní v textu, jsme se věnovali vyhledávání v kódu. V dnešním tutoriálu se podíváme na vymoženosti vyhledávání ve funkcích Visual Studia a na navigaci po zdrojovém kódu. Na úvod si stáhněte zdejší rozsáhlejší program Karel Robot, rozbalte jej a otevřete si řešení.

Otevírání cizího řešení

Při otevíraní projektů, které pochází z cizího zdroje, to Visual Stuio vycítí a upozorní nás na možné bezpečnostní riziko. Náš projekt Karel však žádné nebezpečí neskrývá a proto ho můžeme odkliknout OK.

V okně Solution Explorer si otevřete zdrojový kód Interpret.vb. Abychom se v editoru mohli lépe orientovat, necháme si zobrazit čísla řádek. Již víte, že to jde přes nabídku Tools > Options. Zkusme to jinak. Mnohdy je mnohem jednodušší nechat si na hledání v nastavení vyhledávací políčko.

Vyhledávací políčko

Visual Studio obsahuje vyhledávací políčko, které vyhledává v nabídkách a nastaveních. Nachází se vpravo nahoře vedle ikon pro minimalizace, maximalizaci a zavření Visual Studia.

Zadejme do něj "line number".

V seznamu se ihned objeví položka Options, která obsahuje položky nastavení, které hledaný výraz obsahují. Klikněme na ní.

Ihned se nám otevře nastavení, kde můžeme zatrhnout zobrazování čísel řádků a potvrdit dialog OK.

Navigace v otevřeném souboru

Po krátké odbočce k číslům řádků se vraťme k našemu editoru. Editor v záhlaví obsahuje dvě políčka pro navigaci v souboru.

První z nich je základem pro druhé. První obsahuje třídy v souboru a jejich části jako jsou události. Druhé z nich pak ukazuje samotné členy. Když nějaký vyberete, Visual Studio vám automaticky umístí kurzor k deklaraci dané funkce/metody/u­dálosti/... Přejděme v třídě Interpret k metodě KROK().

Průchod k deklaraci

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Na řádku 51 ukládáme do proměnné souradniceK hodnotu (pro neznalce Visual Basicu, do proměnné se přiřazuje operátorem =, ve stylu <proměnná> = <hodnota>). Kde se však proměnná souradniceK vzala, kde je deklarována? Visual Studio umí najít deklaraci vybrané proměnné.

K deklaraci proměnné se dostaneme, tak že na ni klikneme pravým > Go To Definition.

Označí se nám název proměnné na řádku, kde je deklarována (na řádku 42).

Úplně stejným způsobem můžeme přejít k deklaraci datového typu. Stačí kliknout na datový typ (zeleno-modře označená Souradnice) a stisknout F12 (výchozí kl. zkratka pro Go To Definition).

Druhá možnost jak se dostat k definic typu je kliknout pravým na proměnnou a zovlit Go to Type Definition.

Otevření definice v podokně

Definici můžeme otevřít ještě v podokně. Dělá se to tak, že pravým klikneme na to, k čemu chceme otevřít definici a zvolíme Peak Definition.

V tomto malém okénku moc změn dělat nemůžeme, ani se na to díky své velikosti nehodí. Je však velmi výhodné si tak prohlížet definici. Pokud bychom chtěli, můžeme si ikonou záložky s hvězdičkou okno zvětšit do klasického okna.

Křížkem samozřejmě definici můžeme zavřít.

Jistojistě jste si všimli, že Visual Studio zvýrazňuje "stejné" věci v kódu, když kliknete na název proměnné okamžitě se zvýrazní výskyty stejné proměnné.

Přejděme k deklaraci struktury Souradnice.

Seznam výskytů

Visual Studio umí vrámci řešení najít všechny výskyty vybrané proměnné/třídy/struk­tury/rozhraní/­.... Stačí na ni kliknout pravým tlačítkem a zvolit Find All References.

Otevře se okno Find Symbol Result, ve kterém budou vypsána všechna umístění v kódu, kde se daný objekt používá. Když budete na položky klikat, automaticky se zobrazí zdrojový kód, kde se vyhledávaná položka používá.

Než budeme pokračovat, vložme si do projektu soubor.

Vkládání souboru do projektu

Do projektu si samozřejmě můžete přidat sobory, dělá se to přes kontextovou nabídku v okně Solution Explorer > Add. V této nabídce se ve spodu nachází často používané položky, které většinou dostačují. Zde v projektu máme třeba formulář, vlastní ovládací prvek, komponentu, modul a třídu, což jsou ve Visual Basicu skutečně jedny z nejpoužívanějších věcí.

Ty méně často využívané nalezneme pod volbou New item, která otevře dialogové okno Add New Item. V tomto okně jsou do skupin (jako tradičně vlevo) uspořádané spousty dalších komponent, které se občas hodí. Uprostřed opět vyberete typ toho, co chcete do projektu vložit, vpravo popis a dole název nově vloženého souboru/komponenty a potvrzovací tlačítka.

Dialog zavřete. V nabídce Add se nachází ještě Folder, což založí (velmi nečekaně) novou složku, do které pak můžeme přidávat další soubory. Velmi důležitá je ještě funkce Add > Existing Item, která otevře dialogové okno pro výběr souboru, který bude následně přidán do projektu (vybrané složky). Stáhněte si přiložený soubor pod článkem, rozbalte jej a do projektu si přidejte soubor regex.cs. Ve výchozím nastavení v rozbalené složce soubor neuvidíte, protože dialog filtruje soubory podle koncovek a protože projekt Karel je psaný ve Visual Basicu, dialog nezobrazuje zdrojové kódy v C#. V roletce vedle názvu souboru si vyberte All Files.

Všiměte si, že potvrzovací tlačítko Add má vedle sebe šipečku, kterou když rozkliknete, tak se otevře kontextová nabídka, ve které je ještě, krom klasického potvrzovacího tlačítka Add, tlačítko Add As Link.

Rozdíl mezi Add a Add As Link je v tom, kdy Visual Studio soubor skutečně zkopíruje a kdy jen vytvoří odkaz a to ještě ne odkaz ani zástupce ani symbolický link, ale kdy předává kompilátorům odkaz na soubor. Dalším rozdílem mezi kopií a odkazem, je, že když v kopii změníte jeden soubor, druhého se změna nedotkne, zatímco u odkazu se vždy mění zdrojový soubor (a odkaz samozřejmě taky). Výhodné je to, když je jeden zdrojový kód v rámci více projektů a všude by měl být stejný. Nevýhoda je to třeba u vývoje webů, protože servery, které nevyvíjí Microsoft (Apache a podobné) tomuto systému nerozumí, neumí s nimi pracovat a ten soubor nevidí.

Vložme si soubor regex.cs normální cestou a následně jej otevřete. V příští lekci, Visual Studio - Pomocníci při psaní kódu, s ním budeme pracovat, zatím si můžete zkoušet procházet soubory řešení a navigovat se mezi nimi.


 

Stáhnout

Staženo 483x (652 B)

 

 

Článek pro vás napsal Michal Žůrek - misaz
Avatar
Jak se ti líbí článek?
13 hlasů
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.
Předchozí článek
Visual Studio - Vyhledávání a nahrazovaní v textu
Všechny články v sekci
Visual Studio
Miniatura
Následující článek
Visual Studio - Pomocníci při psaní kódu
Aktivity (2)

 

 

Komentáře
Zobrazit starší komentáře (14)

Avatar
Petr Čech
Redaktor
Avatar
Petr Čech:28.4.2015 21:21

Promiň, trochu mi ujely nervy, a tys to schytal místo jednoho jedince... :[

Odpovědět
28.4.2015 21:21
the cake is a lie
Avatar
Odpovídá na Petr Čech
Michal Žůrek - misaz:28.4.2015 21:24

Já však věřím, že článek zlepšit lze a hvězdičkové hodnocení to i dokazuje. Mě tedy zajímá, jak?

Když mi neřeknete jak ho zlepšit, nemůžu to prostě udělat.

 
Odpovědět
28.4.2015 21:24
Avatar
MrPabloz
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
MrPabloz:28.4.2015 21:35

Nechci říkat abys kopíroval, ale skus se inspirovat např. zde http://www.wug.cz/…tipy-a-triky. Myslím že z toho to člověk pochopí lépe a každý kdo programuje se ve visual studiu zorientuje, tak je blbost vysvětlovat mu každou záložku, button atd... lepší je vyzdvihnout to, co ne každý může znát a co není na první pohled zřejmé, což v tvém seriálu min 90% je

Odpovědět
28.4.2015 21:35
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na MrPabloz
Michal Žůrek - misaz:28.4.2015 21:38

ten začátek je pro úplnost, ne každého totiž napadne, že si okno může rozdělit s kódem může rozdělí třeba na pět částí. V dalších dílech až se vyhrabme z takových srandiček jako je InteliSense se vrhneme na další (zajímavější) nástroje. Seriál chci vést do podrobnosti, čili i detaily, které každý zná nebo každého napadnou.

V každém případě díky za feedback.

Editováno 28.4.2015 21:38
 
Odpovědět
28.4.2015 21:38
Avatar
Odpovídá na Michal Žůrek - misaz
Neaktivní uživatel:28.4.2015 22:03

Bolo by fajn ak by si spomenul také vychytávky, napríklad multiline editing, box selection atd, proste také čo nepozná úplne každý a je to veľmi šikovné. Potom napríklad vytváranie unit testov a samotné testovacie nástroje, ktoré má VS zabudované (ktoré sú pomerne fajn spravené), debuggovanie a iné :) ale to má byť asi v ďalších dieloch

Odpovědět
28.4.2015 22:03
Neaktivní uživatelský účet
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:28.4.2015 22:13

všechno cos vyjmenoval je v plánu. :) Krom toho ještě ladění webu, statická analýza kódu, databázové nástroje, atd...

 
Odpovědět
28.4.2015 22:13
Avatar
Mikuláš Staněk:6.5.2015 14:19

Hele bude zde také tutoriál jak v visual studiu nastvit výstup 32 bitové aplikace ? protože já když vždy něco udělám , je to jen pro 64 bitové počítače.

 
Odpovědět
6.5.2015 14:19
Avatar
Patrik Valkovič
Šéfredaktor
Avatar
Odpovídá na Mikuláš Staněk
Patrik Valkovič:6.5.2015 14:27

Nastavuješ u projektu

Properties -> Build -> Platform Target

Pro C# a VB

Properties -> Debugging -> Configuration Manager (v pravo nahoře) -> Jak je Win32 dáš New a můžeš si nastavit New platform (ARM,x64)

Pro C++, ale v Configuration Managerovi můžeš nastavovat i C#a VB projekty.

Odpovědět
6.5.2015 14:27
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na Mikuláš Staněk
Michal Štěpánek:6.5.2015 14:29

Nahoře u tlačítka spustit máš na výběr konfiguraci. Když si tam zadáš "x86" bude ten program kompilován tak, aby fungoval i na 32bit i na 64bit...

Odpovědět
6.5.2015 14:29
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Pavla Sklenářová:24.11.2018 0:43

Ahoj, existuje možnost vyčlenit si do extra souborů i metody (C#)? V nabídce jsem nic jako "method" nenašla, zkouším si ji vyčlenit do čistého souboru s kódem, ale zase nevím, jak na ni odkázat. Soubor je pojmenován CodeFile1.cs, do něj jsem zkopírovala usingy z hlavního kódu programu, namespace jsem zadala stejný jako v hlavním programu, zadala jsem třídu Metody a jednoduchou metodu na vypsání řetězce - SuperMetoda().
Děkuji za odpověď.

Odpovědět
24.11.2018 0:43
Nepropadejte panice.
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 10 zpráv z 24. Zobrazit vše