NOVINKA: Kurz kybernetické bezpečnosti s akreditací MŠMT, nyní již od 0 Kč. Staň se žádaným profesionálem. Zjisti více:
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

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:

Stáhnutí JDK 21 – LTS - Základní konstrukce jazyka Java

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:

Nastavení JAVA_HOME proměnné - Základní konstrukce jazyka Java

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:

Stáhnutí IntelliJ unified - Základní konstrukce jazyka Java

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:

Založení nového projektu v IntelliJ - Základní konstrukce jazyka Java

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

Nastavení aplikace - Základní konstrukce jazyka Java

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:

První náhled do Java projektu - Základní konstrukce jazyka Java

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:

Úprava kódu - Základní konstrukce jazyka Java

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ě:

Úprava kódu - Základní konstrukce jazyka Java

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:

Instalace pluginu v IntelliJ IDEA. - Základní konstrukce jazyka Java

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

Instalace GitHub Copilota v IntelliJ IDEA. - Základní konstrukce jazyka Java

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

Instalace GitHub Copilota v IntelliJ IDEA. - Základní konstrukce jazyka Java

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

Restart Intellij IDEA. - Základní konstrukce jazyka Java

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:

Přihlášení do GitHub Copilota v IntelliJ IDEA. - Základní konstrukce jazyka Java

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

Přihlášení do GitHub Copilota v IntelliJ IDEA. - Základní konstrukce jazyka Java

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

Přihlášení do GitHub Copilota v IntelliJ IDEA. - Základní konstrukce jazyka Java

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

Přihlášení do GitHub Copilota v IntelliJ IDEA. - Základní konstrukce jazyka Java

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

GitHub Copilot v IntelliJ IDEA - Základní konstrukce jazyka Java

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:

Doplňení kódu podle komentáře - Základní konstrukce jazyka Java

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:

GitHub Copilot v Intellij IDEA - Základní konstrukce jazyka Java

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:

Copilot chat - Základní konstrukce jazyka Java

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:

Přidání kontextu označením části kódu - Základní konstrukce jazyka Java

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

Vstupní pole pro zadání dotazu - Základní konstrukce jazyka Java

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

Režimy GitHub Copilota - Základní konstrukce jazyka Java

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:

Historie v GitHub Copilot - Základní konstrukce jazyka Java

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.


 

Předchozí článek
Využití umělé inteligence při studiu programování
Všechny články v sekci
Základní konstrukce jazyka Java
Přeskočit článek
(nedoporučujeme)
Proměnné a typový systém v Javě
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
2045 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