Göm menyn

Förberedelse 1: Utvecklingsmiljö

Under utveckling! Instruktioner kring utvecklingsmiljöer ändras en hel del 2024.

Varför en utvecklingsmiljö?

Frågan om varför man ska använda en utvecklingsmiljö börjar kanske bli föråldrad vid det här laget. I forntiden kom de flesta studenter till den här kursen med en vana av programmering i texteditorer, men nu är ju många vana vid t.ex. VSCode och liknande mer avancerade miljöer.

Men vi kan ändå lista några fördelar med nutidens mer avancerade miljöer. De 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. Det finns en integrerad debugger för att testa koden, och så vidare.

Därför vill vi gärna att alla ska använda en fullständig utvecklingsmiljö i den här kursen. Det finns också vissa uppgifter i labbarna som i princip kräver en utvecklingsmiljö, där vi t.ex. tittar på enklare användning av debuggers, refactoring med mera.

Vilken utvecklingsmiljö?

I den här kursen har vi sedan länge fokuserat på utvecklingsmiljön IntelliJ IDEA. IDEA är en pionjär inom gruppen av "smartare" utvecklingsmiljöer som har betydligt djupare funktionalitet inom själva programmeringen än att bara editera färglagd kod (första versionen släpptes januari 2001). Den är också basen till en del andra utvecklingsmiljöer som vi använder, t.ex. PyCharm (för Python) och Android Studio (som U-programmet använder inom mobila applikationer).

Nedan ses ett exempel från IntelliJ IDEA.

Kan man inte använda VSCode istället?

Det får man absolut göra! Men det finns ett par saker att vara medveten om.

För det första använder labb 1-3 en del funktionalitet för refactoring med mera, där det inte alltid verkar existera motsvarande funktionalitet för Java i VSCode. De delarna ska ändå göras, vare sig det blir manuellt, genom att tillfälligt gå över till IDEA, eller genom att köra IDEA för labb 1-3 och byta till VSCode senare.

För det andra är våra instruktioner är sedan länge utformade för IntelliJ IDEA, och vi har ännu inte haft tillräckligt med kursutvecklingstid för att skriva tydliga, detaljerade och inte minst vältestade instruktioner för alternativa miljöer.

När du ska starta miljön, arbeta med Git och Gitlab, skapa nya filer, använda refactoring, testa debuggers med mera finns det alltså mycket mer instruktioner för IDEA än för VSCode. Vet du redan hur detta fungerar får du väldigt gärna använda din favoritmiljö redan från början. Vill du ha mer hjälp att komma igång rekommenderar vi starkt att du använder IDEA åtminstone i labb 1-3.

Det behövs alltid en fungerande projektdefinition i IDEA-format!

I det Git-repo vi skapar åt dig finns en fullständig projektdefinition i IDEA-format. Den måste alltid finnas kvar, och du måste använda dess mappstruktur: I mappen .idea finns projektdefinitionen, i doc kan man arbeta med dokumentation och rapporter, i libs finns några fördefinierade klassbibliotek som kan vara bra att ha, i resources kan man lägga resurser såsom bilder, och i src ska man alltid lägga den egna Java-koden.

Detta behövs bland annat för att vår automatiska kodanalys ska fungera.

Ofta behöver du inte tänka på mer än att använda rätt mappar. Om du vill addera egna klassbibliotek som ska användas inom projektet behöver du dock ändra projektdefinitionen inifrån IDEA. Det finns då instruktioner för detta, men de behöver du inte läsa nu.

Mer om IDEA

I kursen använder vi främst IDEA i open source-version (Community Edition). Det finns också en kommersiell variant som vi kan komma att använda vid vissa uppgifter i projektet (andra halvan av kursen).

Båda varianterna kan även laddas ner och användas gratis på egen dator [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 (information finns i uppstartsinstruktionerna längre ner).

Se även JetBrains Youtube-kanal om IntelliJ IDEA!

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 din utvecklingsmiljö

Starta IDEA

Du får gärna installera 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 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

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.

Starta Visual Studio Code

Om du 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 (instruktioner ovan). Du kan sedan köra kommandot code i ett terminalfönster för att starta.

När utvecklingsmiljön startar för första gången

Dessa instruktioner gäller bara IDEA. Om du t.ex. använder Visual Studio Code hänvisar vi till den officiella dokumentationen.

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.

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 Community Edition Terms.

  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. Så här såg det ut på Community Edition 2023.3.2.

  6. Den senaste versionen av IDEA använder per default ett nytt, experimentellt användargränssnitt. Detta skiljer sig en hel del från det tidigare, är ännu inte helt stabilt, och stämmer inte överens med våra instruktioner. För att minska risken för problem byter vi nu tillbaka till det betydligt mer välbeprövade gränssnittet.

    Tryck därför på Customize följt av All Settings... (en blå "länk"). Välj sedan Appearance & Behavior till vänster i nya fönstret, följt av New UI. Kryssa sedan ur Enable new UI och tryck OK. IDEA behöver då startas om; tryck Restart.

    Viktigt! Missa inte ändringen, annars kommer instruktionerna inte att stämma överens med utseendet på skärmen.

    Vill du ändå använda det nya gränssnittet? Varsågod, men du gör det på egen risk.

  7. 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 Dark inställt -- du kan också välja ett ljust färgtema, eller installera en plugin som ger tillgång till andra teman. Äldre teman som Darcula finns också tillgängliga i menyn.

    Om man exempelvis vill använda Dark Purple som också är mörkt men har lite större kontrast än Darcula, 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!

  8. 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.

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

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

Jonas Kvarnström, 2014–2024.


Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2024-01-14