FINÁLNÍ VÝPRODEJ KREDITŮ na ITnetwork je tady. Využij poslední šanci a získej až 80 % extra kreditů ZDARMA na náš interaktivní e-learning. Zjisti více:

Lekce 3 - Visual Studio a Copilot

V minulé lekci, Využití umělé inteligence při studiu programování, jsme si ukázali, jak využívat umělou inteligenci při studiu programování.

V dnešním tutoriálu se zaměříme hlavně na IDE Visual Studio. Ukážeme si, jak se používá, a naprogramujeme si jednoduchou konzolovou aplikaci.

IDE je zkratka pro Integrated Development Environment (integrované vývojové prostředí) a jednoduše řečeno se jedná o aplikaci, ve které píšeme zdrojový kód a pomocí které potom naši aplikaci testujeme a ladíme.

Začít musíme samozřejmě tím, že si Visual Studio nainstalujeme. Pokud studujete IT školu, je velmi pravděpodobné, že máte přes MSDN přístup k ostré verzi Visual Studio Enterprise zdarma. Pokud ne, nezoufejte, protože Visual Studio (dále jen VS) má edici Community, která je zcela zdarma, a to dokonce i pro komerční účely. I ta vám bude dlouho stačit, protože její omezení nejsou nijak velká. Zde máte link ke stažení Visual Studio Community.

Co dělat, když se zasekneš

Naše kurzy pravidelně aktualizujeme, technologie se ale rychle mění a s ní i použité nástroje a příkazy v lekcích. Někdy ti něco nemusí fungovat i proto, že máš třeba jinou verzi nástroje nebo operačního systému. Pokud narazíš v jakékoli lekci na problém a studuješ u nás rekvalifikační kurz, můžeš využít široké možnosti podpory:

  • často je řešení problému zmíněno v diskuzi pod lekcí, zejména, pokud se problém projeví více lidem
  • v lekci o AI si ukážeme, že v případě problémů často stačí problém napsat ChatGPT a on ti poradí, stejně nám prosím ale o problému řekni
  • pokud ani jedno z toho nepomohlo, jde o něco vážnějšího, zavolej svému studijnímu referentovi a domluv si konzultaci s lektorem, který ti pomůže
  • nic si nedělej z toho, že ti úplně všechno nefunguje nebo úplně všemu nerozumíš, běž vždy dál a nenech se odradit, máš na to! :)

Instalace

Pokud máte alespoň elementární znalosti angličtiny, doporučujeme VS nainstalovat v tomto jazyce. Až budete pokročilí programátoři, ušetří vám to spoustu nepříjemností. Ideálně by se měl psát anglicky i kód, ale pro názornost budeme v celém kurzu i v některých ukázkových programech používat české identifikátory. Je na vás a vašich znalostech angličtiny, jak vaše programy budete psát. Výhodou anglického programu je samozřejmě to, že jako velmi pokročilí můžete diskutovat velmi složité problémy na mezinárodních fórech, kde se vyskytují experti na danou oblast. U pokročilých věcí, jako jsou databáze nebo web. aplikace, je třeba ve VS nastavit mnoho specifických věcí, manuály v češtině nemusíte najít a pak jen přemýšlíte, jaký je asi překlad daného checkboxu. Angličtina je v programování standardem. Čeština samozřejmě teď pro začátek není žádný problém a na vaše programy nemá žádný vliv, myslíme to spíše do budoucna.

Pojďme se tedy dát do samotné instalace. Instalace se nás zeptá na tzv. sady funkcí, které chceme mít součástí VS. Zaškrtneme sadu "Vývoj desktopových aplikací pomocí .NET". Tato sada umožňuje vyvíjet jak konzolové, tak klasické okenní aplikace:

Instalace Visual Studio pro desktopový vývoj - Základní konstrukce jazyka C# .NET

Spolu s touto sadou se nám také nainstalují nejnovější verze .NET (Core) a .NET Framework. Konkrétní verze a komponenty si lze vybrat v záložce Jednotlivé komponenty. My si vystačíme s výchozím výběrem:

Jednotlivé komponenty - Základní konstrukce jazyka C# .NET

Jestliže se rozhodnete pro používání VS v angličtině, nezapomeňte si ji zaškrtnout v záložce Jazykové sady:

Jazykové sady - Základní konstrukce jazyka C# .NET

Potvrdíme tlačítkem Instalovat.

Je možné, že některé edice VS bude třeba zaregistrovat, registrace je zdarma a obdržíte poté sériové číslo, které vám umožňuje program zdarma a legálně používat.

Zálohování a verzování

Programátor kromě IDE potřebuje také nějaký nástroj, který bude zálohovat a verzovat jeho práci. Nemůžeme se spolehnout na to, že program prostě budeme ukládat, protože jsme lidé, a ne stroje. Lidé dělají chyby, a když přijdete o několikadenní, nebo dokonce několikatýdenní práci, může to zabolet. Je dobré naučit se na toto myslet hned od začátku. Velmi doporučuji program Dropbox, který je extrémně jednoduchý a sám vaše soubory verzuje (tedy zachovává změny v čase a je možné se vrátit ke starším verzím projektu) a zároveň synchronizuje s webovým úložištěm. I kdyby jste si projekt omylem smazali, přepsali, někdo vám ukradl notebook nebo vám zkolaboval pevný disk, vaše data zůstanou v bezpečí. Dropbox také umožňuje sdílet jeden projekt mezi více vývojáři. Více o Dropboxu viz tento článek, který obsahuje zároveň pozvánku do Dropboxu s 0,5 GB prostoru navíc.

Jako další verzovací nástroj se hojně používá Git, jeho nastavení ale vydalo na samostatný kurz a Dropbox pro naše účely bohatě postačuje.

Vytvoření projektu

Po spuštění VS se nám zobrazí následující okno, kde vybereme Create a new project pro vytvoření nového projektu:

Úvodní dialog Visual Studio - Základní konstrukce jazyka C# .NET

Na další stránce si najdeme konzolovou aplikaci, vybereme ji a pokračujeme stisknutím Next:

Visual Studio – Create a new project - Základní konstrukce jazyka C# .NET

Nějakou dobu zůstaneme u konzolových aplikací (příkazová řádka), protože k jejich obsluze potřebujeme minimální znalosti z objektového světa, a jsou tedy ideální k naučení základů jazyka.

Jako jméno aplikace zvolíme PrvniAplikace. U lokace vybereme složku C:\Users\vase_jmeno\Dropbox\Csharp:

Visual Studio – Configure your new project - Základní konstrukce jazyka C# .NET

Po opětovném kliknutí na Next se dostaneme na stránku s výběrem frameworku (implementace .NET). Výběr necháme na nejnovějším možném (v našem případě .NET 8.0):

Visual Studio – Additional information - Základní konstrukce jazyka C# .NET

Vytvoření projektu už jen potvrdíme kliknutím na tlačítko Create.

Ovládání Visual Studia

Okno nyní vypadá asi takto, my jsme jej zmenšili, aby se sem vešlo :)

Okno Visual Studia - Základní konstrukce jazyka C# .NET

Zajímat nás bude zejména prostřední okno s otevřeným souborem Program.cs, do kterého nám VS vygenerovalo jednoduchý zdrojový kód:

Console.WriteLine("Hello, World!");

Vynechali jsme zde první řádek textu. Jedná se o tzv. komentář, který nám umožňuje do kódu psát různé poznámky. Tyto komentáře nemají vliv na funkčnost programu, protože se vůbec nekompilují do mezikódu. Tento konkrétní komentář nás odkazuje na oficiální dokumentaci funkcionality C#, kterou si vysvětlíme dále.

Kód bez příkazů nejvyšší úrovně

Od .NET 6.0 je možné používat tzv. příkazy nejvyšší úrovně, které zjednodušují kód. Bez nich by kód téže aplikace, s nímž se také budete setkávat, vypadal takto:

using System;

namespace PrvniAplikace
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

Na první pohled se může zdát, že se jedná o zcela jiný kód. Ve skutečnosti ale oba kódy dělají úplně totéž. Jediným rozdílem je, že VS generuje projekty od verze .NET 6.0 s využitím tzv. příkazů nejvyšší úrovně, které byly přidány v C# 9. Tato funkcionalita nám umožňuje vynechat všechen kód, který je ve druhé ukázce kódu navíc oproti tomu našemu. VS jej totiž vygeneruje automaticky za nás během kompilace do mezikódu. Pro nás je to vlastně výhoda, jelikož některé části jsou na pochopení poměrně složité. I tak si je však alespoň intuitivně vysvětlíme, kdybyste náhodou pracovali se starší verzí C# a .NET.

První řádek nám říká, které knihovny z .NET budeme využívat. Zde je uvedena knihovna System, bez ní bychom asi těžko něco naprogramovali, protože obsahuje např. základní metody pro práci s konzolí. Klíčová slova namespace a class zatím nebudeme řešit, spokojíme se s tím, že je to určitý způsob, jak se aplikace v C# strukturují. Klíčová je pro nás metoda Main(), mezi jejíž složené závorky pod ní (tedy do jejího těla) se píše kód. Main je vyhrazené slovo a C# ví, že má po spuštění aplikace vykonat právě tuto metodu (může jich tam totiž být více, ale o tom si povíme později). Vlastně můžeme zatím ignorovat úplně vše vyjma těla metody Main().

I v .NET 6.0 a novějších projektech je možné využívat tuto strukturu s metodou Main(). Při založení projektu bychom zaškrtli Do not use top-level statements. Pro zjednodušení se tomu však vyhneme. Všechen kód, který zatím budeme psát, se nakonec při kompilaci automaticky vloží do těla metody Main().

První spuštění aplikace

Druhým důležitým prvkem v okně pro nás bude zelené tlačítko Play s názvem aplikace (PrvniAplikace) v horní liště, které program zkompiluje a spustí. Můžeme si to zkusit. Otevře se nám konzole, do které se vypíše text Hello, World!:

Konzolová aplikace
Hello, World!

Spuštění můžeme provést též klávesou F5. VS má velmi dobře řešené klávesové zkratky a ty pokročilejší připomínají systém akordů. Když je budete znát, práce vám půjde rychleji od ruky. Nalevo od tlačítka Play máme vybráno Debug. To znamená, že se program bude kompilovat v Debug módu a bude obsahovat určité rutiny k výpisu chyb. Tento mód se používá zejména pro testování programu (když ho vyvíjíme) a běh programu může být kvůli tomu o něco pomalejší. Jakmile si budeme jistí, že je program hotový, přepneme na Release a spustíme. Výsledkem bude vytvoření a spuštění programu tak, jak je ho možné šířit mezi lidi.

Adresářová struktura konzolové aplikace

Nyní se podíváme, jak vypadá naše aplikace na disku. Otevřeme si složku s aplikací, tedy C:\Users\vase_jmeno\Dropbox\Csharp\PrvniAplikace\. Nalezneme v ní soubor PrvniAplikace.sln, který zastupuje tzv. solution Visual Studia. Solution (řešení) je soubor projektů a může tedy obsahovat více aplikací. V praxi se toho využívá např. ve vícevrstvých aplikacích nebo při testování, pro nás je zajímavé jen to, že právě přes tento soubor budeme naše aplikace následně otevírat. Nalézá se zde také složka PrvniAplikace/, ve které již sídlí náš projekt. Otevřeme si ji.

Soubor PrvniAplikace.csproj obsahuje soubor našeho projektu, i přes něj lze naši aplikaci otevřít. Program.cs obsahuje samotný zdrojový kód. Zajímat nás bude ještě složka bin/, jejíž název napovídá, že obsahuje binární (strojový) kód naší aplikace. Otevřeme ji.

Vidíme, že obsahuje podsložky Debug/ a Release/. V nich jsou poté samotné .exe soubory naší aplikace (pokud jsme ji samozřejmě alespoň jednou spustili v této konfiguraci). Pokud se budete chtít se svými aplikacemi někomu pochlubit, .exe soubor ve složce Release/ je právě to, co jim pošlete. Dalších souborů si nemusíte všímat.

GitHub Copilot – Pomocník přímo ve tvém IDE

GitHub Copilot je AI asistent vyvinutý společnostmi GitHub a OpenAI. Ve Visual Studiu je k dispozici jako rozšíření, které je schopné navrhovat doplnění v našem kódu, generovat kód dle zadání či hledat a opravovat chyby.

Je ale důležité počítat s tím, že Copilot není neomylný. Navržený kód může obsahovat chyby, nemusí vždy odpovídat zadání a někdy doporučí i nevhodné řešení. Proto je potřeba jeho návrhy průběžně kontrolovat a přemýšlet nad nimi.

Některé funkce Copilotu závisí na typu účtu nebo zvoleném předplatném, a tak se jejich dostupnost může lišit. Základní verze nabízí omezené používání, placené tarify pak zpřístupňují více funkcí, modelů a vyšší limity.

V případě, že účet na GitHubu ještě nemáme, založíme si ho dle postupu v lekci Verzovací nástroj Git a Visual Studio.

Práce s GitHub Copilotem

Jakmile je Copilot aktivní, začne v reálném čase generovat návrhy k doplnění kódu. Pokud začneme psát metodu, Copilot se pokusí navrhnout její logiku. Při práci s třídami nebo cykly dokáže generovat celé bloky kódu. Umí se dokonce učit z našeho stylu kódování a přizpůsobit mu své návrhy. Navrhovaný kód potvrdíme zmáčknutím klávesy Tab:

Návrh doplnění kódu v GitHub Copilotu - Základní konstrukce jazyka C# .NET

Kromě automatického doplňování kódu nabízí GitHub Copilot také chatovací rozhraní, které umožňuje pokládat dotazy, získávat vysvětlení ke kódu nebo generovat celé bloky kódu na základě zadání. Ve Visual Studiu je chat dostupný po kliknutí na ikonu GitHub Copilot v horním panelu. Do otevřeného okna můžeme zadat prompt, například pro vygenerování třídy s funkcí pro výpočet kvadratické rovnice:

Prompt na vytvoření funkce pro řešení kvadratických rovnic - Základní konstrukce jazyka C# .NET

Po odeslání promptu nám GitHub Copilot poskytne hotový kód, který lze pomocí tlačítek pod výstupem buď zkopírovat, nebo rovnou vložit do nově vytvořeného souboru:

Vložení kódu do třídy - Základní konstrukce jazyka C# .NET

Pomocí asistenta můžeme rovněž pracovat s aktuálně otevřeným souborem. Stačí ponechat zaškrtnutou položku Include active document a zadat prompt, například pro nalezení chyb v našem kódu:

Chatovací rozhraní v GitHub Copilotu – oprava kódu - Základní konstrukce jazyka C# .NET

Shrnutí lekce

Lekce ukazuje instalaci Visual Studia a vytvoření první konzolové aplikace v C#. Projekt se zakládá jako konzolová aplikace, kód píšeme do souboru Program.cs a spouštíme pomocí tlačítka Play nebo klávesy F5. Visual Studio při vytvoření projektu vygeneruje jednoduchý program, který vypíše text do konzole. Pro výpis se používá metoda Console.WriteLine() a pomocí Console.ReadKey() může program počkat na stisk klávesy. Ve Visual Studio lze navíc používat GitHub Copilot, který v editoru pomáhá s doplňováním kódu a návrhy oprav. Lekce také vysvětluje základní strukturu projektu a připomíná důležitost zálohování práce.

V příští lekci, Proměnné, typový systém v C# .NET, si naprogramuje naši první konzolovou aplikaci, podíváme se na základní datové typy a vytvoříme si jednoduchý program vypisující proměnnou.


 

Předchozí článek
Využití umělé inteligence při studiu programování
Všechny články v sekci
Základní konstrukce jazyka C# .NET
Přeskočit článek
(nedoporučujeme)
Proměnné, typový systém v C# .NET
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
2015 hlasů
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity