3. diel - IntelliJ IDEA a Copilot
V minulej lekcii, Využitie umelej inteligencie pri štúdiu programovania, sme si ukázali, ako využívať umelú inteligenciu pri štúdiu programovania.
V dnešnom Java tutoriále sa zameriame predovšetkým na vývojové prostredie IntelliJ IDEA. Ukážeme si, ako sa inštaluje i používa a nainštalujeme si plugin GitHub Copilot.
Čo robiť, keď sa zasekneš
Naše kurzy pravidelne aktualizujeme, technológie sa však rýchlo menia a s nimi aj použité nástroje a príkazy v lekciách. Niekedy ti niečo nemusí fungovať aj preto, že máš napríklad inú verziu nástroja alebo operačného systému. Ak narazíš v akejkoľvek lekcii na problém a študuješ u nás rekvalifikačný kurz, môžeš využiť široké možnosti podpory:
- riešenie problému býva často spomenuté v diskusii pod lekciou, najmä ak sa problém prejaví viacerým ľuďom
- v lekcii o AI sme si ukázali, že v prípade problémov často stačí problém napísať ChatGPT a ten ti poradí, aj tak nám, prosím, o probléme daj vedieť
- ak nepomohlo ani jedno z toho a ide o niečo vážnejšie, zavolaj svojmu študijnému referentovi a dohodni si konzultáciu s lektorom, ktorý ti pomôže
- nič si nerob z toho, že ti úplne všetko nefunguje alebo úplne
všetkému nerozumieš, choď vždy ďalej a nenech sa
odradiť, máš na to!

Príprava prostredia
Začnime prípravou prostredia pre vývoj v Jave.
Inštalácia JDK
Najprv si musíme stiahnuť tzv. JDK (Java Development Kit). To je súbor základných nástrojov, ktoré potrebujeme na vývoj v Jave. Existuje viacero distribúcií JDK, my použijeme distribúciu nazvanú Eclipse Temurin. Pre stiahnutie klikneme na tlačidlo Other Downloads a posunieme sa na stránke nižšie. Z ponuky vyberieme možnosť JDK 21 - LTS a potom už len stiahneme inštalátor podľa nášho operačného systému:

Teraz vykonáme inštaláciu. Pri inštalácii je dôležité na obrazovke s
výberom komponentov zaškrtnúť, že chceme, aby inštalátor vytvoril a
nastavil systémovú premennú JAVA_HOME:

Inštalácia IDE
Začneme tým, že si stiahneme IDE IntelliJ IDEA. IDE je skratka pre Integrated Development Environment (integrované vývojové prostredie) a jednoducho povedané ide o aplikáciu, v ktorej píšeme zdrojový kód a pomocou ktorej potom našu aplikáciu testujeme a ladíme. Existuje viacero rôznych IDE, populárny je tiež napríklad Eclipse alebo NetBeans.
My použijeme IntelliJ IDEA, ktoré je voľne dostupné na stiahnutie na stránke spoločnosti JetBrains.
Zaujímavosťou je, že IntelliJ vyvíja spoločnosť JetBrains, ktorá bola založená v Prahe.
V súčasnosti je IntelliJ IDEA distribuované ako jednotný produkt. Základné funkcie pre vývoj v Jave sú k dispozícii zadarmo (predtým boli dostupné pod názvom Community Edition) a nadštandardné funkcie (ktoré predtým patrili k verzii Professional) sú teraz dostupné formou licencie alebo rozšírenia.
Keď si teda IntelliJ stiahnete, automaticky získate 30-dňový skúšobný prístup ku všetkým prémiovým funkciám. Po uplynutí skúšobnej doby môžete naďalej používať jadro IDE zadarmo, bez nutnosti platiť.
Kliknutím na tlačidlo Download sa spustí sťahovanie inštalátora:

Stiahnutý súbor spustíme a inštaláciu odklikáme (tzv. "vynextíme"), nie je potrebné nič nastavovať.
Inštalácia Dropboxu - Zálohovanie
Okrem IDE potrebujeme nejaký nástroj, ktorý bude zálohovať a verzovať našu prácu. Nemôžeme sa spoľahnúť na to, že program budeme jednoducho ukladať, pretože sme ľudia a nie stroje. Ľudia robia chyby a keď prídete o niekoľkodennú alebo dokonca niekoľkotýždňovú prácu, môže to zabolieť. Je dobré naučiť sa na toto myslieť hneď od začiatku. Veľmi odporúčam program Dropbox, ktorý je extrémne jednoduchý a sám vaše súbory verzuje (teda zachováva zmeny v čase a je možné vrátiť sa k starším verziám projektu) a zároveň ich synchronizuje s webovým úložiskom. Aj keby ste si projekt omylom zmazali, prepísali, ukradli by vám notebook alebo by vám skolaboval pevný disk, vaše dáta zostanú v bezpečí. Dropbox tiež umožňuje zdieľať jeden projekt medzi viacerými vývojármi. Viac sa o Dropboxe dozvieš v tomto článku, ktorý zároveň obsahuje pozvánku do Dropboxu s 0,5 GB priestoru navyše.
Ako ďalší verzovací nástroj sa hojne využíva GIT, jeho nastavenie ale vydalo na samostatný kurz a Dropbox zatiaľ na naše účely bohato postačuje.
Vytvorenie Java projektu
Spustíme si IntelliJ a v okne, ktoré sa nám otvorí, klikneme na ikonku + s popisom New Project:

V okne New Project zadáme názov našej aplikácie spoločne s ďalšími parametrami:

V našom prípade zvolíme názov FirstApplication. Ďalej
zvolíme umiestnenie projektu. V Dropboxe si vytvoríme zložku na naše
projekty, napr. IntelliJProjects/. Pri lokácii pomocou tlačidla s
ikonkou zložky vyberieme zložku
C:\Users\your_name\Dropbox\IntelliJProjects\.
Ako jazyk ponecháme Java a Build system prepneme na Maven.
Maven je mocný automatizačný nástroj, ktorý slúži na správu projektov napísaných predovšetkým v jazyku Java. Jeho detailnejší popis je nad rámec tohto seriálu, nás na tejto úrovni zaujíma iba to, že nám s pomocou IntelliJ vytvorí základnú kostru nášho projektu a následne bude na požiadanie náš projekt zostavovať (tzv. buildiť) a spúšťať. S tým si vystačíme po celú dobu nášho seriálu pre začiatočníkov.
IDE IntelliJ samo nájde JDK, ktoré sme nainštalovali. Nie je ale problém nainštalovať si iné, ak by to bolo pre nejaký konkrétny projekt potrebné. My ponecháme naše Eclipse Temurin.
Následne zaškrtneme možnosť Add sample code. Vďaka tomu nám IntelliJ automaticky vygeneruje našu prvú triedu.
Formulár nám ďalej umožňuje nastaviť GroupId a ArtifactId. Ide o informácie, ktoré Maven potrebuje na vytvorenie projektu, ale v tejto chvíli si veľmi nemusíme lámať hlavu nad tým, čo presne ktorá položka znamená.
Počas nášho seriálu bude vhodné mať nastavenú
GroupId na com.ictdemy. IntelliJ si toto
nastavenie zapamätá pri vytvorení nášho prvého projektu a pri tvorbe
ďalších projektov nám to už predvyplní.
Formulár následne potvrdíme kliknutím na tlačidlo Create.
Ovládanie IntelliJ IDEA
Okno teraz vyzerá asi takto:

Pri pohľade do ľavého panelu Project môžeme vidieť štruktúru
projektu, ktorý je rozdelený do niekoľkých zložiek, balíčkov a podobne.
My si zatiaľ vystačíme so súborom Main.java.
Na pravej strane vidíme zdrojový kód, ktorý nám IDE automaticky
vygenerovalo. Kľúčovými slovami package, public a
class sa zatiaľ nebudeme zaoberať. Uspokojíme sa s vedomím, že
je to určitý spôsob, ako sa aplikácie v Jave štruktúrujú. Každý
Java program sa totiž skladá z tried
(classes) organizovaných do balíčkov (packages).
Zdrojový kód v súbore Main.java upravíme do nasledujúcej
podoby:

Metóda main()
Ako vstupný bod programu, miesto, odkiaľ sa začína
program vykonávať, slúži metóda zvaná main(). Tú nám IDE
už vygenerovalo. Vyzerá takto:
public static void main(String[] args) { }
Opäť sa zatiaľ nebudeme zaoberať tým, čo to všetko znamená. Jediné,
čo nás teraz zaujíma, je telo metódy main(), teda priestor
medzi zloženými zátvorkami. Sem budeme písať náš kód.
Spustenie projektu
Dôležitým prvkom v okne pre nás bude zelené tlačidlo Run Project v hornej lište:

To program skompiluje a spustí. Môžeme si to skúsiť, pretože náš program zatiaľ nič nerobí, hneď sa zase vypne.
Spustenie môžeme vykonať aj klávesovou skratkou Shift + F10.
GitHub Copilot
GitHub Copilot je AI nástroj na prácu s kódom, ktorý pri programovaní navrhuje vhodné doplnenia kódu, pomáha s písaním celých metód alebo vysvetľuje časti existujúceho kódu. V tomto kurze ho budeme používať ako praktického pomocníka pri učení aj riešení úloh.
Je však dôležité počítať s tým, že Copilot nie je neomylný. Navrhnutý kód môže obsahovať chyby, nemusí vždy zodpovedať zadaniu a niekedy odporučí aj nevhodné riešenie. Preto je potrebné jeho návrhy priebežne kontrolovať a premýšľať nad nimi.
Niektoré funkcie Copilotu závisia od typu účtu alebo zvoleného predplatného, a tak sa ich dostupnosť môže líšiť. Základná verzia ponúka obmedzené používanie, platené tarify potom sprístupňujú viac funkcií, modelov a vyššie limity.
Inštalácia pluginu do IDE
Najprv si GitHub Copilot nainštalujeme do IntelliJ IDEA. V IntelliJ klikneme na ikonu ozubeného kolieska v hornej lište a z ponuky vyberieme Plugins:

Do vyhľadávania napíšeme "GitHub Copilot" a klikneme na Install:

Ak sa nám zobrazí upozornenie o inštalácii pluginu tretej strany, klikneme na Accept:

Po inštalácii klikneme na tlačidlo Restart IDE a potom reštart znovu potvrdíme:

Prihlásenie do GitHub Copilot
Po reštarte nás IntelliJ vyzve na prihlásenie. Prípadne klikneme v ľavom spodnom rohu na ikonku Copilota a následne vyberieme možnosť Login to GitHub:

Vo vyskakovacom okne zvolíme Continue with GitHub:

Otvorí sa stránka GitHubu v prehliadači, kde sa prihlásime k nášmu GitHub účtu:

Ak účet na GitHube ešte nemáme, klikneme na možnosť Create an account. Po registrácii potvrdíme prístup pre Copilota:

Po úspešnom prihlásení sa nám v IntelliJ IDEA otvorí chat s GitHub Copilotom:

Ako Copilot funguje
GitHub Copilot je teraz priamo súčasťou IntelliJ IDEA a môžeme ho používať na viacerých miestach. Poďme si ukázať, kde ho v prostredí nájdeme a čo vie.
Copilot v editore
Najčastejšie budeme Copilota používať priamo pri písaní kódu. Hneď ako začneme písať kód alebo napíšeme komentár, Copilot nám automaticky ponúkne návrh na doplnenie kódu. Ak napríklad napíšeme komentár:
// print numbers from 1 to 10
Copilot nám po chvíli ponúkne doplnenie kódu vo forme
for cyklu. Tieto návrhy sa vždy zobrazia sivou farbou. Ak s
návrhom súhlasíme, prijmeme ho stlačením klávesy Tab:

Návrh môžeme tiež odmietnuť tým, že budeme pokračovať ďalej v písaní nášho kódu, alebo stlačíme kláves Esc.
Copilot Chat
Copilot obsahuje tiež chat, ktorý nájdeme v pravej časti IDE. Otvoríme ho ikonkou Copilota:

Chat využijeme najmä pri riešení problémov alebo pri žiadosti o vysvetlenie existujúceho kódu.
V spodnej časti Copilot chatu nájdeme pole, kam zadávame otázky a inštrukcie:

Vidíme tiež ikonku spinky a názov súboru. To znamená, že Copilot tento súbor pozná a používa ho pri odpovedi. Kontext môžeme pridať aj ručne pomocou # na pridanie súboru alebo označením kódu, čím sa pridá automaticky:

Ďalej tu vidíme vstupné pole na zadanie otázky a ikonu šípky na odoslanie otázky:

V ľavej časti potom môžeme vyberať medzi režimami chatu:

Na výber máme z režimov:
- Ask - základný režim pre otázky, ktorý využijeme na vysvetlenie kódu, návrhy riešení alebo všeobecné otázky. Tento režim v našom kóde nič nemení, iba odpovedá.
- Edit - slúži na úpravu existujúceho kódu, ktorý využijeme na zjednodušenie kódu alebo opravu chýb. Copilot nám navrhne zmeny priamo v kóde a my ich buď potvrdíme, alebo zahodíme.
- Agent - aktívne pracuje s celým projektom. Tento režim využijeme na väčšie zmeny v kóde, generovanie viacerých súborov a komplexné úpravy. Navrhne zmeny priamo v kóde a my ich buď potvrdíme, alebo zahodíme.
Do chatu možno písať aj špeciálne príkazy začínajúce znakom lomeno
/:
- /explain - vysvetlí kód,
- /fix - navrhne opravu,
- /optimize - optimalizuje kód.
V hornej lište chatu potom nájdeme históriu a ikonu + na vytvorenie nového chatu, ak meníme tému alebo chceme riešiť nový problém:

To bude na dnes všetko.
Zhrnutie lekcie
IntelliJ IDEA je prostredie, v ktorom budeme v Jave vytvárať, spúšťať a upravovať projekty. Okrem samotného IDE je potrebné nainštalovať si aj JDK. Projekt založíme ako Maven projekt. IntelliJ vie samo vytvoriť základnú kostru aplikácie a program sa spúšťa cez tlačidlo Run. Dôležité je tiež myslieť na zálohovanie práce, napríklad pomocou Dropboxu. Do IntelliJ možno navyše nainštalovať GitHub Copilot, ktorý v editore pomáha s dopĺňaním kódu a návrhmi opráv. V chate možno riešenie konzultovať, nechať si ho vysvetliť alebo hľadať príčiny chýb.
V budúcej lekcii, Premenné a typový systém v Jave, sa pozrieme na základné dátové typy a vytvoríme si jednoduchý program vypisujúci premennú.

David sa informačné technológie naučil na