使用 VS Code 的 Fuchsia 擴充功能

這項擴充功能新增了對 Fuchsia 目標和原始碼的支援,包括:

  • 連線至裝置。
  • 偵錯 C++ 和 Rust 程式碼 (zxdb 支援)。
  • 分析 Fuchsia 裝置的記錄檔。

相容性

Fuchsia 擴充功能與 ffx 9.20220803.3.1 及後續版本相容。

編輯程式碼

根據預設,VS Code 會提供語法醒目顯示、錯誤和警告、跳至定義,以及 C++ 參照清單。

VS Code 會在背景主動分析程式碼,並顯示各種警告或錯誤。詳情請參閱「錯誤和警告」。

Fuchsia 擴充功能也提供 FIDLCML 的語法醒目顯示功能。

設定及建構 Fuchsia

透過指令面板設定 Fuchsia 建構設定,然後選取「Fuchsia: fx set」

這張圖片顯示指令區塊中的 fx 設定和 fx 建構。

您可以從下拉式清單中選取可用的產品和電路板。當 fx set 執行完畢時,擴充功能會顯示訊息。

這張圖表顯示 fx 集合中的產品清單。

如要透過指令面板建構 Fuchsia,請選取「Fuchsia: fx build」。擴充功能會在建構作業進行時顯示進度列。

這張圖片顯示指令區塊中的 fx 建構作業和建構進度。

連線至 Fuchsia 裝置

Fuchsia 擴充功能可讓您連線至 Fuchsia 目標,該目標可以是實體裝置或模擬器。擴充功能支援多個目標裝置,可讓您輕鬆在各種 Fuchsia 裝置之間切換。你一次只能連線至單一裝置。

如果模擬器已正確設定及啟動,您應該會在 VS Code 的狀態列中看到 和 Fuchsia 裝置的名稱。如果您使用模擬器,但看不到 Fuchsia 裝置,請參閱「啟動 Fuchsia 模擬器」。

這張圖片顯示如何將 Fuchsia VS Code 擴充功能連結至 Fuchsia 裝置。

Fuchsia 裝置的選項

您可以按一下 VS Code 狀態列中的 和 Fuchsia 裝置名稱,查看可用於 Fuchsia 裝置的各種選項。這些選項會顯示在 VS Code 指令區塊面板中。在大多數情況下,您可以採取下列做法:

這張圖片顯示透過 Fuchsia VS Code 擴充功能控制已連線 Fuchsia 裝置的各種選項。

  • 預設目標:<device-name>:這個選項會顯示目前設定為預設目標的 Fuchsia 裝置。如果您有其他 Fuchsia 裝置,請按一下 Set <device-name> as default 連線至該裝置。這相當於執行 ffx target default get
  • <device-name> 設為預設值:這個選項可讓您連線至所選的 Fuchsia 裝置。這相當於執行 ffx target default set <device-name>
  • 顯示 <device-name> 的記錄:這個選項會開啟 Fuchsia 擴充功能的 Fuchsia 記錄分頁。詳情請參閱「查看 Fuchsia 記錄」。這相當於執行 ffx log
  • 重新啟動 <device-name>:這個選項會重新啟動 Fuchsia 裝置。這相當於執行 ffx target reboot
  • 關機 <device-name>:這個選項會關閉 Fuchsia 裝置。這相當於執行 ffx target off。如果您關閉 Fuchsia 模擬器,就必須使用 ffx emu start <product-bundle> 再次啟動模擬器。詳情請參閱「啟動 Fuchsia 模擬器」。

查看 Fuchsia 記錄檔

您可以透過 Fuchsia 擴充功能,查看已連結 Fuchsia 裝置的符號化記錄 (人類可讀的堆疊追蹤記錄)。這相當於執行 ffx log。如要進一步瞭解 ffx log,請參閱「監控裝置記錄」。

從「Output」分頁的下拉式選單中選取「Fuchsia 記錄」,即可查看以下內容:

這張圖片顯示輸出分頁中 Fuchsia 擴充功能的記錄。

清除 Fuchsia 記錄

當 Fuchsia 擴充功能串流傳輸 Fuchsia 記錄後,您可以清除所列的 Fuchsia 記錄,查看 Fuchsia 裝置的傳入記錄事件。

如要清除 Fuchsia 記錄,請按一下「Fuchsia 記錄」分頁右上角的

自動捲動 Fuchsia 記錄檔

如要切換 Fuchsia 記錄檔的自動捲動功能,請按一下 Fuchsia 記錄檔分頁右上角的

程式碼偵錯

Fuchsia 擴充功能可讓您執行 Fuchsia 偵錯工具 zxdb。這會將 zxdb 偵錯工具整合至 VS Code IDE,讓您在使用原始碼時設定中斷點和其他偵錯工具設定。

設定設定檔

開始使用偵錯主控台前,您必須建立偵錯設定檔。您可以建立多個偵錯設定檔,然後輕鬆在各個設定檔之間切換。

如要建立偵錯設定檔,請按照下列步驟操作:

  1. 在 VS Code 中,開啟「Run and Debug」 (這個選項位於左側邊欄,並帶有播放和錯誤圖示)。

    這張圖片顯示如何在 VS Code 中啟動「執行」和「偵錯」。

  2. 在「Run and Debug: Run」面板中,按一下「Show all automatic debug configurations」。接著,在指令選單中選取「Add Config (fuchsia)」。編輯器會開啟 launch.json 檔案。

  3. 編輯器應會顯示預先填入的偵錯設定檔清單,請選取任何以 zxdb 開頭的設定檔。

    視需要修改偵錯設定檔的鍵/值。編輯設定檔前,請考量以下事項:

    • name:指定設定檔的有效 ID。
    • type:指定 zxdb。這是唯一的 Fuchsia 偵錯工具。
    • request:指定 launch。這是唯一有效的選項。
    • launchcommand:指定 ffx 二進位檔的別名或路徑,並附加任何選項和參數。在大多數情況下,這會是 ffx component run ....。詳情請參閱「執行元件」。
    • process:指定要偵錯的元件名稱。
  4. 新增設定檔值後,launch.json 應會類似以下內容:

       {
         "configurations": [
         {
          # Specify a meaningful identifier.
          "name": "Debug examples",
          # This is a fixed required value.
          "type": "zxdb",
          # This is a fixed required value.
          "request": "launch",
          # Specify the desired launchcommand.
          "launchCommand": "tools/ffx component run /core/ffx-laboratory:hello_world fuchsia-pkg://fuchsiasamples.com/hello_world#meta/hello_world.cm --recreate",
          # Specify the process that you want to debug.
          "process": "hello_world"
        }
        ]
      }
      ```
    
  5. 儲存對 launch.json 檔案所做的變更。

您已成功建立偵錯設定檔。您可以重複執行上述步驟來新增其他設定檔。

執行及偵錯

建立偵錯設定檔後,您可以使用設定檔執行及偵錯所處理的元件。

如要啟動偵錯工具,請按照下列步驟操作:

  1. 在 VS Code 中,開啟「Run and Debug」 (這個選項位於左側邊欄,並帶有播放和錯誤圖示)。
  2. 在「Run and Debug: Run」面板中,使用下拉式清單選取偵錯設定檔。接著,按一下下拉式清單左側的綠色 ,即可開始偵錯工作階段。

    此圖顯示如何在 VS Code 中變更偵錯設定檔。

啟動偵錯工具後:

  • 您可以使用「Debug console」分頁執行 zxdb 指令。如要進一步瞭解 zxdb 主控台指令,請參閱「Zxdb 主控台指令和互動模式」。
  • 您可以使用 VS Code 偵錯工具功能執行偵錯動作、新增中斷點、記錄點等。詳情請參閱「偵錯動作」。

Fuchsia 元件探索工具

Fuchsia 擴充功能可提供 Fuchsia 裝置上元件的樹狀檢視畫面。這相當於執行 ffx component list

如要查看 Fuchsia 元件清單,請開啟「Run and Debug」 (這個選項位於左側欄,並帶有播放和錯誤圖示),然後展開「Fuchsia Components」部分。

此圖顯示 Fuchsia 擴充功能中的 Fuchsia 元件清單。

元件詳細資料

將滑鼠游標懸停在 Fuchsia 元件清單中的元件上,系統就會顯示彈出式視窗,其中包含該元件的生命週期資訊。

如要查看元件的詳細資料,請按一下 Fuchsia 元件清單中的元件名稱。這會開啟新視窗,顯示元件的詳細資料,等同於執行 ffx component show <component-name>

這張圖片顯示 Fuchsia 擴充功能中元件的詳細資料,您可以將滑鼠游標懸停在元件名稱上,或按一下元件名稱來查看。

為元件偵錯

如要對元件進行偵錯,請按一下元件名稱右側的

Fuchsia 工作探索工具

Fuchsia 擴充功能會提供樹狀檢視畫面,顯示在 Fuchsia 系統中執行的所有工作、程序和執行緒。如要查看 Fuchsia 工作探索器,請開啟「Run and Debug」 (這個選項位於左側邊欄,並帶有播放和錯誤圖示),然後展開「Fuchsia Jobs, Processes, and Threads」部分。

如要將偵錯工具附加到工作,請按一下處理程序右側的

這張圖片顯示 Fuchsia 擴充功能中的 Fuchsia 工作探索器。