# Código

> Peça ao Dvina para escrever código num projeto no seu computador, reveja cada alteração e, depois, faça o commit e abra o pull request a partir da conversa.

O Dvina escreve código no seu projeto, no seu computador, com as notas, as conversas e os motivos à vista. Descreva o que pretende, reveja o que foi alterado e disponibilize o resultado, na mesma aplicação que usa para tudo o resto.

## Antes de começar

A funcionalidade Código faz parte da aplicação Dvina para computador, em Mac, Windows e Linux. Não precisa de instalar nada à parte. O Dvina tem de estar instalado em pelo menos um computador; qualquer outro dispositivo pode iniciar o trabalho e acompanhá-lo.

Para obter a aplicação para computador, consulte [Descarregar e instalar o Dvina](/docs/use-dvina/get-started/install).

## Abrir um projeto

Um projeto é uma pasta no seu computador: um repositório de código ou uma pasta simples.

1. Na aplicação para computador, abra o Dock e selecione a linha dos projetos (**Projetos**).
2. Selecione **Abrir…** para escolher uma pasta ou um repositório de código, ou **Novo projeto…** para criar uma nova pasta neste computador.

Ao criar um novo projeto, ative **Criar repositório Git** para manter um histórico de todas as alterações e poder anular as edições do Dvina.

A conversa trabalha no projeto que escolher. Num projeto de código, o Dock também mostra o respetivo branch.

## Pedir o trabalho

Descreva o que pretende, por exemplo, "Faz com que a exportação CSV use as datas corretas". O Dvina executa o pedido como uma tarefa no seu computador, e pode continuar a conversar ou iniciar mais tarefas. Várias tarefas podem trabalhar no mesmo repositório e decidir entre si qual faz o commit primeiro.

Antes de escrever, o Dvina lê o projeto e o contexto que o rodeia: pesquisa nas suas conversas anteriores e nos seus ficheiros, para ter em conta os motivos. Também segue o AGENTS.md ou o CLAUDE.md do seu projeto.

## Rever as alterações

A resposta de cada tarefa inclui as respetivas alterações, num cartão com o nome da tarefa e a indicação **Pronto para revisão**.

- **Ver o que mudou:** Selecione **Alterações** para ver as alterações de cada ficheiro no painel lateral. **Ficheiros** permite-lhe explorar o projeto.
- **Anular uma interação:** Por baixo de uma resposta que tenha alterado ficheiros, selecione a linha que indica quantos ficheiros foram alterados, depois **Reverter**, e confirme **Reverter esta interação?**. Os ficheiros voltam ao estado anterior à interação, e as alterações feitas desde então são mantidas.

## Fazer o commit e abrir um pull request

1. No cartão da tarefa, selecione **Fazer commit**.
2. **Fazer commit das alterações** apresenta os ficheiros que serão incluídos no commit no seu branch, com um **Título** e uma **Mensagem** sugeridos. Selecione **Fazer commit**. Nada é enviado para o repositório remoto.
3. Para abrir um pull request, selecione **Enviar e criar PR**. O Dvina envia primeiro o branch atual para o repositório remoto e, depois, abre o pull request. Os ficheiros sem commit não são incluídos.

O pull request usa a sua própria autenticação Git. O Dvina abre-o no GitHub ou no GitLab; qualquer outro serviço abre a sua própria página de criação de pull requests no seu navegador. Quando terminar, selecione **Ver PR**.

## Aprovações

As compilações e os testes são executados sem pedir autorização. Eliminar ficheiros, enviar alterações, alterar bases de dados, fazer implementações e qualquer ação que envolva segredos ficam à espera da sua aprovação. O cartão explica porquê, por exemplo **Executar este comando?** com **Elimina ficheiros** ou **Altera uma base de dados**, e pode escolher **Permitir** ou **Rejeitar**. O administrador pode definir quais as ações que pedem sempre autorização.

> [!IMPORTANT]
> Nada é enviado sem a sua autorização. O seu projeto é uma pasta no seu computador e, com o Git, pode anular todas as alterações que Dvina fizer.

## Testar num simulador ou emulador

Na aplicação para computador, Dvina pode testar a sua aplicação neste computador tal como os seus utilizadores a vão usar: num navegador, no iOS Simulator num Mac ou no Android Emulator num Mac, Windows ou Linux.

1. Abra o Dock e escolha a linha **Dispositivo**.
2. Em **Este dispositivo**, escolha **Navegador**, **iOS Simulator** ou **Android Emulator**.

A área abre-se no painel lateral. Se o simulador estiver desligado, inicia-se quando o abrir. Para usar outro, escolha **Escolher um dispositivo** na parte superior da área; cada dispositivo mostra o respetivo sistema e se está **Em execução** ou **Desligado**.

Para mostrar ou ocultar o navegador, prima <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> num Mac ou <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> no Windows e no Linux. Enquanto Dvina trabalha numa área que não está a ver, a linha **Dispositivo** mostra um ponto.

### Permitir que Dvina use um dispositivo

Na primeira vez que Dvina usa um simulador ou emulador, pede autorização, por exemplo **Permitir que Dvina use o iPhone 17 Pro?**, porque Dvina vê o ecrã do dispositivo. Por isso, não inicie sessão nas suas contas reais nesse dispositivo. Escolha **Permitir** ou **Rejeitar**. O dispositivo guarda a sua resposta, pelo que não volta a perguntar noutra conversa. Até dar autorização, a área apresenta **Permitir que Dvina o use**.

Enquanto Dvina trabalha, a área indica **Dvina está a usar este dispositivo** e a conversa mostra o dispositivo em direto. Escolha **Ver em tamanho maior** para ampliar a vista. As ações de enviar, pagar e eliminar no dispositivo ficam sempre à espera da sua aprovação.

Para usar o dispositivo, escolha **Assumir o controlo**. Os seus toques e as teclas que premir são enviados para o dispositivo, e pode premir **Início** e, no Android, **Voltar** e **Aplicações recentes**. Quando terminar, escolha **Devolver o controlo** e Dvina continua.

### Configurar o iOS Simulator

Se o iOS Simulator não estiver configurado, a respetiva linha abre a lista de verificação **Configurar o iOS Simulator**. Cada passo fica automaticamente assinalado quando é concluído, mesmo que o tenha feito noutro local.

1. **Instalar o Xcode:** Escolha **Abrir a App Store**. O Xcode é gratuito e ocupa cerca de 7 GB; abra-o uma vez após a instalação.
2. **Selecionar o Xcode:** Escolha **Copiar o comando** e execute-o no Terminal. O comando pede a sua palavra-passe, pelo que Dvina nunca o executa por si.
3. **Adicionar o simulador de iOS:** No Xcode, aceda a Definições › Componentes e obtenha o iOS ou execute o comando no Terminal.
4. **Criar um dispositivo:** Escolha **Criar um iPhone**. Não é descarregado nada.

### Configurar o Android Emulator

Se o Android Emulator não estiver configurado, a respetiva linha abre a lista de verificação **Configurar o emulador Android**.

1. **Instalar o Android Studio:** Escolha **Obter o Android Studio**. Este instala os componentes necessários para executar o emulador; abra-o uma vez após a instalação.
2. **Adicionar o emulador e as ferramentas de plataforma:** Execute o comando num terminal ou adicione-os em Android Studio › SDK Manager.
3. **Ativar a aceleração por hardware:** No Windows e no Linux, execute o comando pessoalmente, pois exige a sua palavra-passe ou um administrador. Depois, no Linux, termine sessão e volte a iniciá-la; no Windows, reinicie o computador. Num Mac, não é necessário fazer nada neste passo.
4. **Adicionar uma imagem de sistema:** Execute o comando num terminal ou adicione uma em Android Studio › SDK Manager. É uma transferência de grande dimensão.
5. **Criar um emulador:** Escolha **Criar um emulador**. Não é descarregado nada.

Se o administrador tiver desativado os simuladores, as linhas indicam **Desativado pelo administrador**.

## Trabalhar a partir de qualquer lugar

No telemóvel ou na web, pede no chat o que queres que seja feito. Dvina trabalha nisso no projeto no teu computador, e as alterações ficam à espera da tua revisão. O computador tem de estar ligado, com Dvina aberto.

## Quando usar

- Estás a trabalhar em software real e queres ter todo o histórico à mão: as notas, as decisões e as conversas do mês passado.
- Queres que uma correção seja feita enquanto estás longe da secretária.
- Queres que várias alterações sejam feitas em simultâneo, cada uma pronta para revisão.

## Dicas

- **Regista as tuas regras de trabalho.** Descreve a tua forma de trabalhar em AGENTS.md ou CLAUDE.md, e Dvina segue essas orientações.
- **Testa num telemóvel.** Estás a criar uma aplicação? Dvina pode testá-la num simulador de iPhone ou num emulador de Android, tocando no ecrã como os teus utilizadores farão. Consulta [Testar num simulador ou emulador](#test-on-a-simulator-or-emulator).
- **Não és programador?** Para criar aplicações e páginas funcionais, usa [Criar](/docs/use-dvina/features/create).

## Relacionado

- [Projetos](/docs/use-dvina/features/projects)
- [Tarefas](/docs/use-dvina/features/tasks)
- [Utilização do computador](/docs/use-dvina/features/computer-use)
- [Instalar](/docs/use-dvina/get-started/install)
