Lekce 3 - IntelliJ IDEA 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 Java tutoriálu se zaměříme především na vývojové prostředí IntelliJ IDEA. Ukážeme si, jak se instaluje i používá a nainstalujeme si plugin GitHub Copilot.
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!

Příprava prostředí
Začněme přípravou prostředí pro vývoj v Javě.
Instalace JDK
Nejprve si musíme stáhnout tzv. JDK (Java Development Kit). To je soubor základních nástrojů, které potřebujeme pro vývoj v Javě. Existuje více distribucí JDK, my použijeme distribuci nazvanou Eclipse Temurin. Pro stažení klikneme na tlačítko Other Downloads a posuneme se na stránce níže. Z nabídky vybereme možnost JDK 21 - LTS a poté už jen stáhneme instalátor dle našeho operačního systém:

Nyní provedeme instalaci. Při instalaci je důležité na obrazovce s
výběrem komponent zaškrtnout, že chceme, aby instalátor vytvořil a
nastavil systémovou proměnnou JAVA_HOME:

Instalace IDE
Začneme tím, že stáhneme IDE IntelliJ IDEA. 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. Existuje více různých IDE, populární je také například Eclipse nebo NetBeans.
My však použijeme IntelliJ IDEA, které je volně dostupné ke stažení na stránce společnosti JetBrains.
Pro našince není bez zajímavosti, že IntelliJ vyvíjí společnost JetBrains, která byla založena v Praze.
V současné době je IntelliJ IDEA distribuováno jako jednotný produkt. Základní funkce pro vývoj v Javě jsou k dispozici zdarma (dříve bylo IntelliJ ke stažení pod názvem Community Edition) a nadstandardní funkce (které dříve patřily k verzi Professional) jsou nyní dostupné formou licence nebo rozšíření.
Když si tedy IntelliJ stáhnete, automaticky získáte 30denní zkušební přístup ke všem prémiovým funkcím. Po uplynutí zkušební doby můžete nadále používat jádro IDE zdarma, bez nutnosti platit.
Kliknutím na tlačítko Download se spustí stahování instalátoru:

Stažený soubor spustíme a instalaci odklikáme (tzv. "vynextíme"), není třeba nic nastavovat.
Instalace Dropboxu – Zálohování
Kromě IDE potřebujeme nějaký nástroj, který bude zálohovat a verzovat naši 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řijdeme 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čujeme program Dropbox. Je extrémně jednoduchý a sám naš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 kdybychom si projekt omylem smazali, přepsali, ukradli nám notebook nebo nám zkolaboval pevný disk, naš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ý zároveň obsahuje 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 zatím pro naše účely bohatě postačuje.
Vytvoření Java projektu
Spustíme si IntelliJ a v okně, které se nám otevře, klikneme na ikonku + s popiskem New Project:

V okně New Project zadáme název naší aplikace společně s dalšími parametry:

V našem případě zvolíme název PrvniAplikace. Dále
zvolíme umístění projektu. V Dropboxu si vytvoříme složku na naše
projekty, např. IntelliJProjects/. U lokace pomocí tlačítka s
ikonkou složky vybereme složku
C:\Users\vase_jmeno\Dropbox\IntelliJProjects\.
Jako jazyk ponecháme Java a Build system přepneme na Maven.
Maven je mocný automatizační nástroj, který slouží ke správě projektů napsaných především v jazyce Java. Jeho detailnější popis je zcela mimo rámec tohoto seriálu, nás na této úrovni zajímá pouze to, že nám s pomocí IntelliJ vytvoří základní kostru našeho projektu a následně bude na požádání náš projekt sestavovat (tzv. "buildit") a spouštět. S tím si vystačíme po celou dobu našeho seriálu pro začátečníky.
IDE IntelliJ samo najde JDK, které jsme nainstalovali. Není ale problém si nainstalovat jiné, pokud by to bylo pro nějaký konkrétní projekt potřeba. My ponecháme naše Eclipse Temurin.
Následně zaškrtneme možnost Add sample code. Díky tomu nám IntelliJ automaticky vygeneruje naši první třídu.
Formulář nám dále umožňuje nastavit GroupId a ArtifactId. Jde o informace, které potřebuje Maven pro vytvoření projektu. V této chvíli si moc nemusíme lámat hlavu nad tím, co přesně která položka znamená.
Po celou dobu našeho seriálu bude vhodné mít nastavenou
položku GroupId na cz.itnetwork.
IntelliJ si toto nastavení při vytvoření našeho prvního
projektu zapamatuje a při tvorbě dalších projektů nám ho již
předvyplní.
Formulář následně potvrdíme kliknutím na tlačítko Create.
Ovládání IntelliJ IDEA
Okno nyní vypadá asi takto:

Při pohledu do levého panelu Project můžeme vidět strukturu
projektu, který je rozdělený do několika složek, balíčků a podobně. My
si zatím vystačíme se souborem Main.java.
Na pravé straně vidíme zdrojový kód, který nám IDE automaticky
vygenerovalo. Klíčovými slovy package, public a
class se zatím nebudeme zabývat. Spokojíme se s vědomím, že
je to určitý způsob, jak se aplikace v Javě strukturují. Každý
Java program se totiž skládá ze tříd
(classes) organizovaných do balíčků (packages).
Zdrojový kód v souboru Main.java upravíme do následující
podoby:

Metoda main()
Jako vstupní bod programu, místo, odkud se začíná
program provádět, slouží metoda zvaná main(). Tu nám IDE již
vygenerovalo. Vypadá takto:
public static void main(String[] args) { }
Opět se prozatím nebudeme zabývat tím, co to všechno znamená. Jediné,
co nás teď zajímá, je tělo metody main(), tedy prostor mezi
složenými závorkami. Sem budeme psát náš kód.
Spuštění projektu
Důležitým prvkem v okně pro nás bude zelené tlačítko Run Project v horní liště:

To program zkompiluje a spustí. Můžeme si to zkusit, protože náš program zatím nic nedělá, hned se zase vypne.
Spuštění můžeme také provést klávesovou zkratkou Shift + F10.
GitHub Copilot
GitHub Copilot je AI nástroj pro práci s kódem, který při programování navrhuje vhodná doplnění kódu, pomáhá s psaním celých metod nebo vysvětluje části existujícího kódu. V tomto kurzu ho budeme používat jako praktického pomocníka při učení i řešení úloh.
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.
Instalace pluginu do IDE
Nejprve si GitHub Copilot nainstalujeme do IntelliJ IDEA. V IntelliJ klikneme na ikonu ozubeného kola v horní liště a z nabídky vybereme Plugins:

Do vyhledávání napíšeme "GitHub Copilot" a klikneme na Install:

Pokud se nám zobrazí upozornění o instalaci pluginu třetí strany, klikneme na Accept:

Po instalaci klikneme na tlačítko Restart IDE a poté restart znovu potvrdíme:

Přihlášení do GitHub Copilot
Po restartu nás IntelliJ vyzve k přihlášení. Případně klikneme v levém spodním rohu na ikonku Copilota a následně vybereme možnost Login to GitHub:

Ve vyskakovacím okně zvolíme Continue with GitHub:

Otevře se stránka GitHubu v prohlížeči, kde se přihlásíme k našemu GitHub účtu:

Pokud účet na GitHubu ještě nemáme, klikneme na možnost Create an account. Po registraci potvrdíme přístup pro Copilota:

Po úspěšném přihlášení se nám v IntelliJ IDEA otevře chat s GitHub Copilotem:

Jak Copilot funguje
GitHub Copilot je teď přímo součástí IntelliJ IDEA a můžeme ho používat na více místech. Pojďme si ukázat, kde ho v prostředí najdeme a co umí.
Copilot v editoru
Nejčastěji budeme Copilota používat přímo při psaní kódu. Jakmile začneme psát kód nebo napíšeme komentář, Copilot nám automaticky nabídne návrh k doplnění kódu. Pokud například napíšeme komentář:
// vypiš čísla od 1 do 10
Copilot nám po chvíli nabídne doplnění kódu ve formě
for cyklu. Tyto návrhy se vždy zobrazí šedě. Pokud s návrhem
souhlasíme, přijmeme ho stisknutím klávesy Tab:

Návrh můžeme také odmítnout tím, že budeme pokračovat dále v psaní našeho kódu, nebo stiskneme klávesu Esc.
Copilot Chat
Copilot obsahuje také chat, který najdeme v pravé části IDE. Otevřeme jej ikonkou Copilota:

Chat využijeme zejména při řešení problémů nebo při žádosti o vysvětlení existujícího kódu.
Ve spodní části Copilot chatu najdeme pole, kam zadáváme dotazy a instrukce:

Vidíme rovněž ikonku sponky a název souboru. To znamená, že Copilot tento soubor zná a používá ho při odpovědi. Kontext můžeme přidat i ručně pomocí # pro přidání souboru, nebo označením kódu, čímž se přidá se automaticky:

Dále zde vidíme vstupní pole pro zadání dotazu a ikonu šipky, pro odeslání dotazu:

V levé části pak můžeme vybírat mezi režimy chatu:

Na výběr máme z režimů:
- Ask - základní režim pro dotazy, který využijeme pro vysvětlení kódu, návrhy řešení, nebo obecné otázky. Tento režim v našem kódu nic nemění, pouze odpovídá.
- Edit - slouží k úpravě existujícího kódu, který využijeme ke zjednodušení kódu, nebo opravu chyb. Copilot nám navrhne změny přímo v kódu a my je buď potvrdíme, nebo zahodíme.
- Agent - aktivně pracuje s celým projektem. Tento režim využijeme pro větší změny v kódu, generování více souborů a komplexní úpravy. Navrhne změny přímo v kódu a my je buď potvrdíme, nebo zahodíme.
Do chatu lze psát i speciální příkazy začínající znakem lomeno
/:
- /explain - vysvětlí kód,
- /fix - navrhne opravu,
- /optimize - optimalizuje kód.
V horní liště chatu pak najdeme historii a ikonu + pro vytvoření nového chatu, pokud měníme téma, nebo chceme řešit nový problém:

To bude pro dnešek vše.
V příští lekci, Proměnné a typový systém v Javě, 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.


David se informační technologie naučil na