# 程式碼

> 讓 Dvina 在你電腦上的專案中編寫程式碼，檢視每項變更，再從對話中提交並建立拉取請求。

Dvina 在你電腦上的專案中編寫程式碼，同時參考筆記、討論串和相關原因。你只需描述需求、檢視變更，再發佈成果，全都在你處理其他事情的同一個 app 中完成。

## 開始之前

程式碼功能是 Dvina 桌面版 app 的一部分，支援 Mac、Windows 和 Linux，無需另外安裝。你需要在至少一部電腦上安裝 Dvina；其他裝置都可以啟動工作並跟進進度。

如要取得桌面版 app，請參閱[下載及安裝 Dvina](/docs/use-dvina/get-started/install)。

## 開啟專案

專案是你電腦上的一個資料夾，可以是程式碼儲存庫，也可以是一般資料夾。

1. 在桌面版 app 中開啟 Dock，選擇專案列（**專案**）。
2. 選擇**開啟…**來選取資料夾或程式碼儲存庫，或選擇**新增專案…**在這部電腦上建立新資料夾。

建立新專案時，開啟**建立 Git 儲存庫**，即可保留每項變更的記錄，以便還原 Dvina 的修改。

對話會在你選擇的專案中進行工作。如果是程式碼專案，Dock 也會顯示其分支。

## 提出工作要求

描述你的需求，例如「讓 CSV 匯出使用正確的日期」。Dvina 會在你的電腦上以任務形式執行，你可以繼續對話或啟動更多任務。多個任務可以在同一個儲存庫中工作，並自行協調誰先提交。

編寫程式碼之前，Dvina 會閱讀專案及其相關背景：它會搜尋你過往的對話和檔案，了解背後的原因。它也會遵循專案中的 AGENTS.md 或 CLAUDE.md。

## 檢視變更

每個任務的回覆都會連同變更一起顯示在卡片中。卡片以任務命名，並標示為**可供檢視**。

- **查看變更內容：**選擇**變更**，即可在側邊面板查看各個檔案的變更。選擇**檔案**則可瀏覽專案。
- **還原某一輪的變更：**在修改了檔案的回覆下方，選擇顯示變更檔案數量的一行，再選擇**還原**，並確認**還原這一輪的變更？**。檔案會回復至該輪之前的狀態，而之後所作的變更會保留。

## 提交並建立拉取請求

1. 在任務卡片中選擇**提交**。
2. **提交變更**會列出將提交至你目前分支的檔案，並提供建議的**標題**和**訊息**。選擇**提交**。這一步不會推送任何內容。
3. 如要建立拉取請求，選擇**推送並建立 PR**。Dvina 會先推送目前的分支，再建立拉取請求。未提交的檔案不會包含在內。

拉取請求會使用你自己的 Git 登入身份建立。Dvina 會在 GitHub 或 GitLab 上建立拉取請求；如果使用其他代管服務，則會在瀏覽器中開啟該服務的新增拉取請求頁面。完成後，選擇**查看 PR**。

## 批准

建置和測試會直接執行。刪除檔案、推送、資料庫變更、部署，以及任何涉及機密資料的操作，都會等你批准。卡片會說明原因，例如顯示 **要執行此指令嗎？**，並標示 **會刪除檔案** 或 **會更改資料庫**，讓你選擇 **允許** 或 **拒絕**。管理員可以設定哪些操作必須每次詢問。

> [!IMPORTANT]
> 未經你同意，不會推送任何內容。你的專案是電腦上的一個資料夾，而透過 Git，Dvina 所作的每項修改都可以復原。

## 在模擬器上測試

在桌面版 app 中，Dvina 可以在這部電腦上，按你的用戶實際使用的方式試用你的 app：透過瀏覽器、Mac 上的 iOS 模擬器，或 Mac、Windows 或 Linux 上的 Android 模擬器。

1. 開啟 Dock，選擇標示為 **裝置** 的那一列。
2. 在 **這部裝置** 下，選擇 **瀏覽器**、**iOS 模擬器** 或 **Android 模擬器**。

窗格會在側邊面板開啟。已關閉的模擬器會在你開啟時啟動。如要使用另一部裝置，請選擇窗格頂部的 **選擇裝置**；每部裝置都會顯示其系統，以及 **運行中** 或 **已關閉** 的狀態。

如要顯示或隱藏瀏覽器，在 Mac 上按 <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd>，或在 Windows 和 Linux 上按 <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd>。當 Dvina 在你沒有查看的窗格中操作時，**裝置** 那一列會顯示一個圓點。

### 讓 Dvina 使用裝置

Dvina 首次使用模擬器時會先詢問，例如 **允許 Dvina 使用 iPhone 17 Pro 嗎？**。由於 Dvina 能看見裝置的畫面，請勿在裝置上登入你的真實帳戶。選擇 **允許** 或 **拒絕**。裝置會記住你的選擇，因此在另一個對話中也不會再次詢問。在你允許之前，窗格會提供 **讓 Dvina 使用此裝置** 選項。

Dvina 操作時，窗格會顯示 **Dvina 正在使用這部裝置**，而對話中會即時顯示裝置畫面。選擇 **放大觀看** 即可以較大的畫面查看。在裝置上傳送、付款和刪除，每次都會等你批准。

如要自行使用裝置，請選擇 **接管**。你的點按和按鍵操作會傳送到裝置，你也可以按 **主畫面**；在 Android 上，還可以按 **返回** 和 **最近使用的應用程式**。完成後，選擇 **交還控制權**，Dvina 就會繼續操作。

### 設定 iOS 模擬器

如果尚未設定 iOS 模擬器，選擇該列會開啟 **設定 iOS 模擬器** 檢查清單。每個步驟完成後都會自動加上剔號，即使你是在其他地方完成也一樣。

1. **安裝 Xcode：** 選擇 **開啟 App Store**。Xcode 是免費的，大小約為 7 GB；安裝完成後，請開啟一次。
2. **選擇 Xcode：** 選擇 **複製指令**，然後在「終端機」執行。這個指令會要求輸入你的密碼，因此 Dvina 絕不會代你執行。
3. **加入 iOS 模擬器：** 在 Xcode 中前往「設定」›「組件」並下載 iOS，或在「終端機」執行指令。
4. **建立裝置：** 選擇 **建立 iPhone**。這個步驟不會下載任何內容。

### 設定 Android 模擬器

如果尚未設定 Android 模擬器，選擇該列會開啟 **設定 Android 模擬器** 檢查清單。

1. **安裝 Android Studio：** 選擇 **取得 Android Studio**。它會安裝模擬器運行所需的軟件；安裝完成後，請開啟一次。
2. **加入模擬器和平台工具：** 在終端機執行指令，或在 Android Studio › SDK Manager 中加入。
3. **開啟硬件加速：** 在 Windows 和 Linux 上，請自行執行指令，因為這需要你的密碼或管理員權限。然後，在 Linux 上登出再重新登入，或在 Windows 上重新啟動。Mac 無需進行這個步驟。
4. **加入系統映像：** 在終端機執行指令，或在 Android Studio › SDK Manager 中加入。下載檔案較大。
5. **建立模擬器：** 選擇 **建立模擬器**。這個步驟不會下載任何內容。

如果管理員已停用模擬器，相關列會顯示 **已由管理員停用**。

## 隨時隨地工作

你可以透過手機或網頁，在聊天中提出工作要求。Dvina 會在你電腦上的專案中處理，完成的變更會等待你審閱。你的電腦需要保持開啟，並開着 Dvina。

## 適用情況

- 你正在開發實際的軟件，希望工作時能參考完整的背景資料：筆記、決策和上個月的討論串。
- 你希望離開座位時，也能完成修正。
- 你希望同時處理多項變更，每項都準備好供你審閱。

## 提示

- **寫下你的工作規則。** 把你的工作方式寫在 AGENTS.md 或 CLAUDE.md 中，Dvina 就會遵循。
- **在手機上測試。** 正在開發 app？Dvina 可以在 iPhone 模擬器或 Android 模擬器中測試，像你的用戶一樣逐步點按操作。請參閱[在模擬器中測試](#test-on-a-simulator-or-emulator)。
- **你不是開發者？** 如要製作可運作的 app 和網頁，請改用 [Create](/docs/use-dvina/features/create)。

## 相關內容

- [專案](/docs/use-dvina/features/projects)
- [任務](/docs/use-dvina/features/tasks)
- [電腦操作](/docs/use-dvina/features/computer-use)
- [安裝](/docs/use-dvina/get-started/install)
