← Přehled všech hodin

Než začneme: C# ve Visual Studio Code

Cíl této stránky: mít na svém počítači funkční C#. Na konci umíš vyrobit nový projekt, napsat do něj vlastní text a spustit ho jedním příkazem.
Jak stránku používat: vpravo nahoře je tlačítko Prezentace — schová všechno kromě jednoho bloku a přepíná se šipkami. U ukázek a cvičení je kód vlevo editovatelný: uprav ho a klikni na Spustit (nebo Ctrl+Enter). Program se přeloží a spustí přímo v prohlížeči a vpravo se objeví to, co vypsal do konzole. Nic se neinstaluje.

1. Instalace

Blok 1Co vlastně instalujeme1. Instalace
.NET SDK        = překladač C# + knihovny + příkaz dotnet
VS Code         = editor, ve kterém píšeš
C# Dev Kit      = rozšíření, díky kterému VS Code rozumí C#

Tři věci, tři různé role. Snadno se to plete, tak si to hned ujasníme:

  • .NET SDK je ta důležitá část. Obsahuje překladač, který z tvého textu udělá spustitelný program. Bez něj nefunguje nic.
  • VS Code je jenom editor — chytrý poznámkový blok. Sám o sobě C# neumí.
  • C# Dev Kit je doplněk do VS Code. Zařídí barvičky, našeptávání a zelené tlačítko Spustit.

Představ si to jako kuchyni: SDK je sporák, VS Code je kuchařka a Dev Kit jsou její brýle. Bez sporáku se nevaří, i kdybys měl brýlí deset.

Pořadí instalace je důležité

Nejdřív SDK, pak VS Code, pak rozšíření. Když to uděláš obráceně, rozšíření SDK nenajde a bude si stěžovat. Řešení je pak jednoduché: zavřít a znovu otevřít VS Code.

Blok 2Krok 1 — nainstaluj .NET SDK1. Instalace
https://dotnet.microsoft.com/download
→ Download .NET SDK  (ne Runtime!)
→ verze 8.0 nebo novější

Stáhni SDK, ne Runtime. Na stránce jsou dvě tlačítka a lidé si je pletou:

  • Runtime umí hotové programy jen spouštět.
  • SDK je umí i vyrábět. Tohle chceš ty.

Instalátor spusť, několikrát odklikni Next a nech všechno výchozí. Nic se nemusí nastavovat.

Na Macu si stáhni verzi podle procesoru: Arm64 pro M1/M2/M3, x64 pro starší Intel Macy. Když si nejsi jistý, Arm64 je dnes správná volba.

dotnet --version

Kontrola, že instalace dopadla. Otevři terminál (na Windows Terminál nebo PowerShell, na Macu Terminal) a napiš tenhle příkaz.

Musí vypsat něco jako 8.0.204 nebo 9.0.101. První číslo musí být 8 nebo víc.

Když to místo toho napíše command not found nebo 'dotnet' is not recognized, počítač zatím o .NETu neví. Nejčastější léčba: zavři terminál a otevři nový. Nově nainstalované programy se do starého okna terminálu nepropíšou.

Ať se nelekneš prvního spuštění

Úplně první dotnet příkaz na čerstvé instalaci chvíli přemýšlí a vypíše odstavec o telemetrii a o tom, že se připravuje. To je normální, stane se to jen jednou.

Blok 3Krok 2 — nainstaluj VS Code a rozšíření1. Instalace
https://code.visualstudio.com
→ Download
→ spustit instalátor

Visual Studio Code (zkráceně VS Code) je zdarma a běží na Windows, Macu i Linuxu.

Pozor na jméno: „Visual Studio" a „Visual Studio Code" jsou dva různé programy. My chceme ten druhý — menší, rychlejší a na všech systémech stejný.

Na Windows při instalaci klidně zaškrtni Add to PATH i Open with Code — obojí se ti bude hodit.

VS Code → ikona kostiček vlevo (Extensions)
       → napiš: C# Dev Kit
       → Install

Rozšíření C# Dev Kit od Microsoftu. Ikona kostiček je v levém pruhu, čtvrtá odshora. Klávesová zkratka je Ctrl+Shift+X (na Macu Cmd+Shift+X).

Do vyhledávacího políčka napiš C# Dev Kit a nainstaluj ten od Microsoftu (má modrou značku ověření). Automaticky si s sebou přitáhne i rozšíření C#, což je správně.

Po instalaci VS Code zavři a znovu otevři. Rozšíření si při startu hledá SDK a po restartu ho najde spolehlivě.

Co ti rozšíření dá
  • Barvy — klíčová slova modře, texty zeleně, komentáře šedě.
  • Našeptávání — napíšeš Console. a vyskočí seznam, co všechno umí.
  • Červené vlnovky — chybu vidíš dřív, než program spustíš.
  • Tlačítko ▷ Run nad metodou Main.

2. První projekt

Blok 4Krok 3 — vyrob projekt příkazem dotnet new2. První projekt
dotnet new console -o CsQuest

Tenhle jediný příkaz vyrobí celý projekt. Přepni se v terminálu tam, kde chceš mít své programy (třeba cd Documents), a napiš ho.

Rozebráno po kouscích:

  • dotnet — nástroj, který jsi právě nainstaloval
  • new — „vytvoř něco nového"
  • console — konzolová aplikace, tedy program, který píše text do okna
  • -o CsQuestoutput, tedy do jaké složky to vyrobit

Vznikne složka CsQuest a v ní dva soubory. Žádný z nich nemusíš psát ručně.

CsQuest/
├── CsQuest.csproj     ← nastavení projektu
├── Program.cs         ← tvůj kód, tady se píše
└── obj/               ← pomocné soubory, needituj

Co ve složce je:

  • Program.cs — jediný soubor, který tě zajímá. Tady píšeš program. Přípona .cs znamená C Sharp.
  • CsQuest.csproj — nastavení projektu v XML: která verze .NETu, jaké knihovny. Otevřeš ho možná dvakrát za rok.
  • obj/ a později bin/ — sem si překladač odkládá své mezivýsledky. Nic tam neuprav a nic tam nehledej.
cd CsQuest
code .

Otevři projekt ve VS Code. Příkaz code . znamená „otevři VS Code v téhle složce" (tečka = tady).

Když code nefunguje, otevři VS Code ručně a dej File → Open Folder… a vyber složku CsQuest.

Vždycky otevírej celou složku, ne jenom soubor Program.cs. Rozšíření potřebuje vidět i .csproj, jinak našeptávání nenaběhne a VS Code bude tvrdit, že nic nezná.

Blok 5Krok 4 — spusť program příkazem dotnet run2. První projekt
uvod/Program.cs
Console.WriteLine("Ahoj, tady CsQuest!");

Takhle vypadá celý program v moderním C#. Otevři Program.cs, smaž všechno, co v něm je, a napiš tenhle jediný řádek.

Šablona tam měla Console.WriteLine("Hello, World!"); — klidně ho jen přepiš.

Žádná třída, žádná metoda Main, žádné using. Tomuhle se říká top-level statements a od .NET 6 je to normální způsob psaní. Kdybys viděl na internetu program, který začíná class Program { static void Main(string[] args) {, je to starší zápis téhož — funguje taky.

dotnet run

Jediný příkaz, kterým se program spouští. Napiš ho v terminálu uvnitř složky projektu. Terminál ve VS Code otevřeš klávesou Ctrl+` (na Macu Cmd+`) nebo přes Terminal → New Terminal.

Co se stane: dotnet run nejdřív přeloží tvůj text na skutečný program a pak ho spustí. Poprvé to trvá pár sekund, podruhé je to bleskové.

Výstup:

Ahoj, tady CsQuest!

Když místo toho vidíš červený text, přečti si první řádek chyby. Skoro vždycky tam je číslo řádku a kód chyby, třeba CS1002.

Tři příkazy, které ti stačí na celý rok
Příkaz Co dělá
dotnet new console -o Nazev vyrobí nový projekt
dotnet run přeloží a spustí
dotnet build jen přeloží (zkontroluje chyby)
Blok 6Jak si to rozložit na obrazovce2. První projekt
VS Code                        Terminál
┌──────────────────┐          ┌──────────────────┐
│ Program.cs       │          │ > dotnet run     │
│                  │  Ctrl+S  │                  │
│ Console.WriteLine│─────────►│ Ahoj, tady       │
│   ("Ahoj...");   │          │   CsQuest!       │
│                  │          │ >                │
└──────────────────┘          └──────────────────┘

Kód a výsledek měj vidět zároveň. Terminál ve VS Code se otevírá dole, takže to jde samo — jen si ho udělej vyšší tažením za horní hranu.

Rutina, kterou si zafixuj hned na začátku:

  1. napiš změnu v kódu,
  2. Ctrl+S (ulož),
  3. klikni do terminálu a dotnet run,
  4. přečti si výsledek.

Šipka nahoru v terminálu vytáhne poslední příkaz — nemusíš dotnet run psát pořád dokola.

Zkratka pro netrpělivé

Příkaz dotnet watch run program spustí a pak hlídá soubor: jakmile uložíš změnu, sám všechno přeloží a spustí znovu. Skvělé na hraní, ale u programů, které se ptají na vstup, to občas plete — pak se vrať k obyčejnému dotnet run.

3. Když se něco pokazí

Blok 7Nejčastější problémy a jejich řešení3. Když se něco pokazí
Co vidíš Co to znamená Co s tím
'dotnet' is not recognized / command not found terminál neví o .NETu zavři a otevři nový terminál; když nepomůže, přeinstaluj SDK
dotnet --version vypíše 6.x nebo 7.x máš starý SDK stáhni verzi 8 nebo novější
CS1002: ; expected chybí středník na konci řádku doplň ; na uvedeném řádku (nebo o řádek výš)
CS0103: The name 'consol' does not exist překlep ve jménu zkontroluj velká písmena: Console, ne console
CS1061 / červené vlnovky všude po otevření VS Code nenačetl projekt otevři složku, ne soubor; pak Ctrl+Shift+PDeveloper: Reload Window
MSB1003: Specify which project nejsi ve složce projektu cd CsQuest a zkus znovu
Program se spustí a hned zmizí konzole se zavřela spouštěj přes dotnet run v terminálu, ne dvojklikem na .exe
Zlaté pravidlo čtení chyb

Chybová hláška vypadá děsivě, ale zajímavé jsou jen tři věci: jméno souboru, číslo řádku a kód chyby (CS…). Zbytek je popis. Když si kód chyby vygoogluješ i s tím CS, první výsledek bývá přímo od Microsoftu a s příkladem.

Záložní plán pro hodinu

Instalace na školních počítačích umí sežrat celou hodinu. Mějte připravené:

  • Odkaz na tyhle stránky. Všechna cvičení jdou spustit v prohlížeči tlačítkem Spustit, bez instalace čehokoliv.
  • Offline instalátory .NET SDK i VS Code na USB, když je školní síť pomalá.
  • Dvojice. Kdo má běžící .NET, posadí se k tomu, komu to nejde.

Pokud instalace nevyjde u víc než tří dětí, nechte to být a odučte hodinu v prohlížeči. Instalaci dořešíte příště nebo individuálně.

Blok 8Vyzkoušej si to i bez instalace3. Když se něco pokazí

Než si doma pustíš VS Code, můžeš si první program napsat rovnou tady. Kód vlevo je editovatelný — přepiš text v uvozovkách a klikni na Spustit. Program se přeloží a spustí přímo v tomhle prohlížeči a vpravo uvidíš, co vypsal.

uvod/prvni_program.cs
Tady se objeví výstupKlikni na Spustit. Kód vlevo můžeš měnit a spouštět opakovaně klávesami Ctrl+Enter.
Kód vlevo jde upravovat. Tab odsazuje o čtyři mezery.
V čem se prohlížeč liší od tvého počítače

Tady v prohlížeči běží stejný překladač C# jako na tvém počítači, ale program nemůže sahat na soubory, na internet ani na hodiny čekání. Všechno ostatní — texty, čísla, podmínky, cykly, třídy — funguje úplně stejně.

Až budeš mít .NET doma, stejný kód vlož do Program.cs a spusť dotnet run. Výsledek bude totožný.