Göm menyn

Förberedelse 1: IntelliJ IDEA

I den här kursen introducerar vi utvecklingsmiljön IntelliJ IDEA, som finns både i kommersiell variant och som open source-version (Community Edition). Båda varianterna kan även användas hemma [installationsinstruktioner].

IDEA har även möjlighet att konfigurera både tangentbord och bindningar för att likna t.ex. Vim, Emacs eller Visual Studio för den som är van vid de miljöerna (instruktioner kommer längre ner).

Se även JetBrains Youtube-kanal om IntelliJ IDEA!

Syfte 1: Få hjälp med tråkiga rutinuppgifter

Programmering kan innehålla många rutinmässiga steg som vi helst vill undvika. Därför är det ofta smidigt att använda en integrerad utvecklingsmiljö (IDE), särskilt när man redan har lärt sig grunderna i programmering.

Moderna miljöer gör ju långt mer än att "hålla reda på filerna": De analyserar och indexerar automatiskt koden allteftersom den skrivs, visar omedelbart vissa typer av misstag och problem i koden, ger möjlighet till avancerad navigering och kodanalys (vem anropar den här metoden?), och tar hand om många tråkiga uppgifter när du vill omstrukturera din kod. Man får också en integration med versionshantering och kan t.ex. lättare se vilken del av koden man har ändrat sedan senast.

Syfte 2: Lära sig använda en utvecklingsmiljö

Det är dags att introducera fullständiga utvecklingsmiljöer, för den som inte har använt dessa förut. Där är IDEA också basen för flera andra utvecklingsmiljöer som används på LiU, t.ex. PyCharm (för Python) och Android Studio (som U-programmet använder inom mobila applikationer).

I labbarna kommer vi också att börja titta på en del viktig funktionalitet såsom enklare användning av debuggers, refactoring med mera. För att visa och förklara hur detta fungerar behöver vi fokusera på en specifik miljö, i detta fall IDEA.

Måste man använda IDEA?

Delvis.

Det arbete ni gör måste ligga i fungerande IDEA-projekt. Man får en projektdefinition att börja med (finns i det Git-repo som vi skapar åt er), och kan behöva göra ändringar om man t.ex. vill lägga till egna klassbibliotek som ska användas i projektet. Detta används sedan när handledarna granskar projektet och för den automatiska kodinspektionen.

I labb 1-3 finns också övningar som introducerar t.ex. refactoring och debugging. Här är uppgifterna bara skrivna för IDEA, eftersom det tar för mycket resurser att anpassa uppgifterna till en större uppsättning miljöer. Där rekommenderar vi mycket starkt att man använder IDEA som sin programmeringsmiljö. Om du redan är van vid en annan fullständig utvecklingsmiljö är det OK att fortsätta med den så länge som du ändå faktiskt har tillgång till motsvarande verktyg för refactoring, debugging med mera. Det är då upp till dig som kursdeltagare att ta reda på hur man gör! Däremot ska du inte köra vidare med en ren texteditor eller enklare miljö som saknar mer avancerade verktyg.

I labb 4-5 och i projektet är det inga problem att själv välja miljö, så länge som man också testar att allt går att öppna och använda i IDEA.

Referenskort

Använd gärna referenskortet till hjälp:

IDEAs uppstart och utseende kan ändras en del mellan olika versioner och kan skilja sig beroende på om man t.ex. har använt IDEA tidigare eller inte. Vi försöker täcka de vanligaste fallen men någon detalj kan skilja sig mot instruktionerna, och vi uppdaterar inte alla bilder varje år. Fråga om du är osäker på något!

Att starta IDEA

Starta IDEA

Vi rekommenderar starkt att du installerar IDEA på din egen dator. På Linux kan du starta du IDEA med idea.sh i ett terminalfönster, eller kanske via en ikon. På Windows/MacOS bör IDEA finnas som en ikon i en meny...


Om du trots allt kör i Linux-salarna (SU) eller via ThinLinc behöver du använda vår kursmodul som ger tillgång till rätt mjukvara. Lägg till den genom ett av följande kommandon:

module add courses/TDDD78 eller
module add courses/TDDE30 eller
module add courses/729A85

Om du inte vill behöva göra detta varje gång du loggar in kan du använda module initadd ... istället. Det lägger till modulkommandon i en av "startfilerna" i din hemkatalog. För att få bort en modul som har adderats på det sättet gör du module initrm ....

Sedan startas IDEA med idea.sh i ett terminalfönster.

När IDEA startar för första gången

Det kan se annorlunda ut när du startar!

Dels kan dialogrutorna skilja sig åt mellan olika versioner, dels beror uppstarten mycket på om du har startat IDEA eller någon annan utvecklingsmiljö från JetBrains förut.

Att göra: Licens till IDEA (kanske!)

Just nu (18/1 klockan 10.10) har vi problem med licenserna till IDEA. Det fungerade så sent som igår (allt är genomtestat noga) men nu säger servern att inga licenser finns kvar.

Jag har ringt Helpdesk och har ett akut ärende hos dem.

För tillfället *går* det att:

- Skaffa en egen studentlicens som man även kan använda på den egna datorn när man t.ex. arbetar hemma, se Jetbrains

- Använda en testversion (trial), kräver dock att man skapar eget konto hos Jetbrains (kan även göras snabbare med inloggning via Google-konto eller Github-konto)

- Arbeta med de delar som inte kräver IDEA, t.ex. klona sitt repo på kommandoraden (se TDDE23) och sedan börja programmera tillfälligt i en annan miljö som VS Code eller liknande.

Det är väldigt olyckligt men vi har verkligen testat och dubbelkollat att licenserna skulle fungera -- fram till igår...

I labbsalarna kräver IDEA en licens som delas ut av en licensserver. Från och med 2020 bör denna hittas helt automatiskt på labbdatorerna och i så fall kommer du helt och hållet att hoppa över det här steget.

Om licensservern inte hittas får du någon gång under uppstarten (som vi beskriver längre ner) en dialog liknande denna:

Om och när det händer gör du så här:

  • Välj Activate och Activate your license with: License server.

  • Gå till License server address och skriv/klistra in http://jetbrains-student.license.it.liu.se:8080

  • Tryck Activate och sedan Activate New License. Du ska nu se "Floating ticket obtained".

  • Tryck Close.

Hemma kan du antingen installera IDEA Community Edition, som är open source och inte kräver licens, eller begära en gratis personlig studentlicens från JetBrains. Du kan bara använda licensservern från universitetets datorer.

Starta IDEA för första gången

  1. För att kunna köra miljön kan det vara nödvändigt att godkänna Jetbrains User Agreement.

  2. IDEA kanske frågar om den får skicka användningsstatistik till JetBrains. Svara enligt din egen åsikt.

  3. IDEA startar upp och visar en splash-skärm. Kör man via Thinlinc kan detta ta ett bra tag, åtminstone på den dagen vi testade.

  4. Om man har använt IDEA tidigare, men nu startar en ny version, kan IDEA fråga om du vill använda dina gamla inställningar eller starta på nytt.

    I resten av instruktionerna antar vi att du har startat för första gången eller "börjar om" med nya inställningar. Du får gärna återanvända gamla inställningar, men då kan uppstarten se lite annorlunda ut.

  5. Du bör få upp ett startfönster:

  6. Om du klickar "Customize" kan du ändra vissa grundläggande inställningar, till exempel tema.

    Som standard verkar man få det mörka färgtemat Darcula inställt -- du kan också välja ett ljust färgtema, eller installera en plugin som ger tillgång till andra teman.

    I examinatorns ögon har Darcula lite låg kontrast, men det finns många alternativ. Dark Purple är också mörkt men har lite större kontrast än Darcula. Man får tillgång till den genom att klicka "Plugins", skriva "Purple" i sökrutan, och välja att installera denna plugin. Därefter går man tillbaka till "Customize" för att välja färgtema "Dark purple".

    Det finns många andra, som Material Theme UI (väldigt konfigurerbart men lite mer komplicerat), One Dark theme, och andra. Sök på "theme" i plugins om du är intresserad!

  7. Under "Customize" kan du också ändra tangentbordsinställningar. Exempel är Gnome, Eclipse, Emacs, och Visual Studio. Om du gör det kanske ett fåtal av våra instruktioner inte stämmer, men i så fall kan du säkert hitta rätt kommandon på andra sätt.

    Även här kan plugins komma till din hjälp om du vill ha alternativ. Se till exempel IdeaVim (och IdeaVimExtended med mera), eller VSCode Keymap, Sublime Text, XCode osv. Du kan t.ex. söka på /tag:Keymap i plugins.

    "IdeaVim supports many Vim features including normal/insert/visual modes, motion keys, deletion/changing, marks, registers, some Ex commands, Vim regexps, configuration via ~/.ideavimrc, macros, Vim plugins, etc.

  8. Vill du lära dig mer? Klicka på fliken "Learn IntelliJ IDEA" (helt frivilligt, så klart).

  9. Nu är IDEA klar att använda! Nästa steg blir att ta hem labbprojektet från Gitlab.

Jonas Kvarnström, 2014–2022.


Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2022-01-18