# Kode

> Lad Dvina skrive kode i et projekt på din computer, gennemgå hver ændring, og lav derefter et commit og opret en pull request fra chatten.

Dvina skriver kode i dit projekt på din computer med noterne, trådene og begrundelserne i baghovedet. Du beskriver, hvad du vil have, gennemgår ændringerne og leverer resultatet i den samme app, som du bruger til alt andet.

## Før du begynder

Kode er en del af Dvinas desktopapp på Mac, Windows og Linux. Du behøver ikke installere noget separat. Dvina skal være installeret på mindst én computer. Alle andre enheder kan starte arbejdet og følge med i det.

Se [Download og installer Dvina](/docs/use-dvina/get-started/install) for at hente desktopappen.

## Åbn et projekt

Et projekt er en mappe på din computer: et kodelager eller en almindelig mappe.

1. Åbn Dock i desktopappen, og vælg projektrækken (**Projekter**).
2. Vælg **Åbn…** for at vælge en mappe eller et kodelager, eller **Nyt projekt…** for at oprette en ny mappe på denne computer.

Når du opretter et nyt projekt, skal du slå **Opret Git-lager** til for at gemme en historik over alle ændringer, så Dvinas redigeringer kan fortrydes.

Chatten arbejder i det projekt, du vælger. Hvis det er et kodeprojekt, viser Dock også projektets gren.

## Beskriv opgaven

Beskriv, hvad du vil have, f.eks. "Sørg for, at CSV-eksporten bruger de rigtige datoer". Dvina udfører det som en opgave på din computer, og du kan fortsætte samtalen eller starte flere opgaver. Flere opgaver kan arbejde i samme kodelager og indbyrdes afgøre, hvem der laver et commit først.

Før Dvina skriver, læser den projektet og den omgivende kontekst: Den søger i dine tidligere chats og filer, så begrundelserne følger med. Den følger også AGENTS.md eller CLAUDE.md i dit projekt.

## Gennemgå ændringerne

Svaret på hver opgave kommer sammen med ændringerne i et kort med opgavens navn og teksten **Klar til gennemgang**.

- **Se, hvad der er ændret:** Vælg **Ændringer** for at se ændringerne i hver fil i sidepanelet. Med **Filer** kan du gennemse projektet.
- **Fortryd ændringerne fra et svar:** Under et svar, der har ændret filer, skal du vælge linjen, der viser, hvor mange filer der er ændret. Vælg derefter **Tilbagefør**, og bekræft **Tilbagefør ændringerne fra dette svar?**. Filerne vender tilbage til deres tilstand før svaret, mens senere ændringer bevares.

## Lav et commit, og opret en pull request

1. Vælg **Commit** på opgavens kort.
2. **Commit ændringerne** viser de filer, der kommer med i committet på din gren, med forslag til **Titel** og **Besked**. Vælg **Commit**. Intet bliver pushet.
3. Vælg **Push og opret PR** for at oprette en pull request. Dvina pusher først den aktuelle gren og opretter derefter pull requesten. Filer, der ikke er committet, kommer ikke med.

Pull requesten oprettes via dit eget Git-login. Dvina opretter den på GitHub eller GitLab. Hvis du bruger en anden vært, åbnes værtens egen side til oprettelse af en pull request i din browser. Vælg **Vis PR**, når den er oprettet.

## Godkendelser

Builds og tests kører uden at spørge. Sletning af filer, push, databaseændringer, udrulninger og alt, der berører hemmeligheder, venter på din godkendelse. Kortet forklarer hvorfor, for eksempel **Kør denne kommando?** med **Sletter filer** eller **Ændrer en database**, og du vælger **Tillad** eller **Afvis**. Din administrator kan indstille, hvor meget der altid kræver godkendelse.

> [!IMPORTANT]
> Intet pushes, før du giver lov. Dit projekt er en mappe på din computer, og med Git kan alle ændringer, som Dvina foretager, fortrydes.

## Test i en simulator eller emulator

I desktopappen kan Dvina afprøve din app på denne computer, som dine brugere vil bruge den: i en browser, i iOS Simulator på en Mac eller i Android Emulator på en Mac, Windows eller Linux.

1. Åbn Dock, og vælg rækken **Enhed**.
2. Under **Denne enhed** skal du vælge **Browser**, **iOS Simulator** eller **Android Emulator**.

Visningen åbnes i sidepanelet. En simulator, der er slukket, starter, når du åbner den. Hvis du vil bruge en anden, skal du vælge **Vælg en enhed** øverst i visningen. Hver enhed viser sit system, og om den er **Tændt** eller **Slukket**.

Du kan vise eller skjule browseren ved at trykke på <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> på en Mac eller <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> på Windows og Linux. Når Dvina arbejder i en visning, du ikke ser på, vises der en prik i rækken **Enhed**.

### Lad Dvina bruge en enhed

Første gang Dvina bruger en simulator eller emulator, spørger den for eksempel **Må Dvina bruge iPhone 17 Pro?**, fordi Dvina kan se skærmen. Log derfor ikke ind på dine rigtige konti på den. Vælg **Tillad** eller **Afvis**. Enheden husker dit svar, så du ikke bliver spurgt igen i en anden chat. Indtil du giver tilladelse, viser visningen **Lad Dvina bruge den**.

Mens Dvina arbejder, står der **Dvina bruger denne enhed** i visningen, og chatten viser enheden live. Vælg **Se i stor visning** for at se den i større format. Afsendelse, betaling og sletning på enheden venter på din godkendelse hver gang.

Hvis du selv vil bruge enheden, skal du vælge **Overtag**. Dine tryk og tastetryk sendes til enheden, og du kan trykke på **Hjem** og på Android også **Tilbage** og **Seneste apps**. Når du er færdig, skal du vælge **Giv tilbage**, så fortsætter Dvina.

### Konfigurer iOS Simulator

Hvis iOS Simulator ikke er konfigureret, åbner rækken en tjekliste, **Konfigurer iOS Simulator**. Hvert trin markeres automatisk som fuldført, når det er udført, også hvis du har gjort det et andet sted.

1. **Installer Xcode:** Vælg **Åbn App Store**. Xcode er gratis og fylder omkring 7 GB. Åbn det én gang, når installationen er færdig.
2. **Vælg Xcode:** Vælg **Kopiér kommandoen**, og kør den i Terminal. Den beder om din adgangskode, så Dvina kører den aldrig for dig.
3. **Tilføj iOS-simulatoren:** Gå til Indstillinger › Komponenter i Xcode, og hent iOS, eller kør kommandoen i Terminal.
4. **Opret en enhed:** Vælg **Opret en iPhone**. Der downloades ikke noget.

### Konfigurer Android Emulator

Hvis Android Emulator ikke er konfigureret, åbner rækken en tjekliste, **Konfigurer Android-emulatoren**.

1. **Installer Android Studio:** Vælg **Hent Android Studio**. Det installerer det, emulatoren kører på. Åbn det én gang, når installationen er færdig.
2. **Tilføj emulatoren og platformsværktøjerne:** Kør kommandoen i en terminal, eller tilføj dem i Android Studio › SDK Manager.
3. **Slå hardwareacceleration til:** På Windows og Linux skal du selv køre kommandoen, da den kræver din adgangskode eller en administrator. Log derefter ud og ind igen på Linux, eller genstart på Windows. På en Mac behøver du ikke gøre noget her.
4. **Tilføj et systemimage:** Kør kommandoen i en terminal, eller tilføj et i Android Studio › SDK Manager. Det er en stor download.
5. **Opret en emulator:** Vælg **Opret en emulator**. Der downloades ikke noget.

Hvis din administrator har slået simulatorer fra, står der **Slået fra af din administrator** i rækkerne.

## Arbejd hvor som helst

Bed om at få arbejdet udført i din chat fra telefonen eller på nettet. Dvina arbejder på det i projektet på din computer, og ændringerne venter på din gennemgang. Din computer skal være tændt, og Dvina skal være åben.

## Hvornår skal du bruge det?

- Du arbejder på rigtig software og vil have hele historikken med: noterne, beslutningerne og sidste måneds tråde.
- Du vil have en rettelse klaret, mens du er væk fra dit skrivebord.
- Du vil have flere ændringer lavet på én gang, hver især klar til gennemgang.

## Tips

- **Skriv dine arbejdsregler ned.** Beskriv, hvordan du arbejder, i AGENTS.md eller CLAUDE.md, så følger Dvina det.
- **Test på en telefon.** Bygger du en app? Dvina kan teste den i en iPhone-simulator eller en Android-emulator og trykke sig gennem den, som dine brugere vil gøre. Se [Test i en simulator eller emulator](#test-on-a-simulator-or-emulator).
- **Er du ikke udvikler?** Brug i stedet [Opret](/docs/use-dvina/features/create) til at lave apps og sider, der fungerer.

## Relateret

- [Projekter](/docs/use-dvina/features/projects)
- [Opgaver](/docs/use-dvina/features/tasks)
- [Computerbrug](/docs/use-dvina/features/computer-use)
- [Installer](/docs/use-dvina/get-started/install)
