Fuchsia 適用的其他 VS Code 擴充功能

下列 VS Code 擴充功能可為 Fuchsia 提供有效率的開發環境:

官方 Fuchsia 專屬擴充功能

Fuchsia 專用的擴充功能可提供與 Fuchsia 軟體和系統搭配使用的相關支援。目前 Fuchsia 專案支援這些擴充功能。

VS Code 適用的 Fuchsia 擴充功能

VS Code 適用的 Fuchsia 擴充功能支援對 Fuuchsia 裝置進行偵錯、記錄和語法醒目顯示功能。這項擴充功能是 Fuchsia 的官方擴充功能,可與來源樹狀結構和 SDK 搭配使用。詳情請參閱 Fuchsia 開發人員擴充功能頁面

這張圖片顯示 Visual Studio Code 市集中的 fuchsia 開發人員擴充功能圖片

社群提供的擴充功能

這些擴充功能是由 Fuchsia 貢獻者所開發。系統不支援列出的擴充功能,且可能會與 Fuchsia 官方開發人員擴充功能發生衝突。建議您使用 Fuchsia 開發人員擴充功能

Fuchsia.git 輔助

Fuchsia.git Helper 新增了「在...中開啟」功能,方便您在 OSS 程式碼搜尋中開啟檔案。

如何使用這個擴充功能:

  1. 在檔案編輯器中,於目標檔案上按一下滑鼠右鍵。
  2. 選取「在 OSS 程式碼搜尋中開啟」

這張圖顯示 VS Code 選單,用於在 OSS 程式碼搜尋中開啟檔案。

FuchsiAware

FuchsiAware 則負責瀏覽 Fuchsia 構件,例如從元件網址連結到元件資訊清單。

這張圖顯示 VS Code 中 fuchsia-pkg 網址的超連結。

建構系統擴充功能

GN

GN 可為 GN 檔案加入語法醒目顯示功能。

這張圖顯示 VS Code 中 GN 檔案的語法醒目顯示。

GNFormat

GNFormat 提供 GN 檔案格式。

您可能需要使用 GN 二進位檔和建構工具的檔案路徑來設定 GNFormat。 請執行下列步驟:

  1. 在 VS Code 中,執行 CMD/CTRL + P 來啟動 Quick Open
  2. 在搜尋欄位中輸入 settings
  3. 按一下「Preferences:開啟設定 (JSON)」
  4. 新增下列設定,然後重新啟動 VS Code:
"gnformat.path.gn": "FILE_PATH",
"gnformat.path.buildtools": "BUILD_TOOLS_PATH"

一般工作流程擴充功能

使用 Fuchsia 時,一般工作流程擴充功能可提供整體高效率的工作流程。

GitLens

GitLens 可針對 Git 記錄提供可靈活自訂的深入分析,讓您瞭解程式碼演進的過程。

這張圖片顯示 VS Code 中的 Git 修訂版本記錄。

語言專屬擴充功能

FIDL 語言支援

FIDL 語言支援FIDL 中提供語法支援和 LSP 語言功能。

這張圖顯示 VS Code 中 FIDL 檔案的語法醒目顯示。

JSON5

在某些情況下,您可以透過 JSON5 編寫的結構化設定處理 Fuchsia 元件。JSON5 可為 JSON5 檔案新增語法醒目顯示功能。

這張圖顯示 VS Code 中 JSON5 檔案的語法醒目顯示。

Rust 分析工具

Rust-analyzer 是 Rust 語言的語言伺服器通訊協定 (LSP) 實作。

如要搭配使用 rust-analyzer 與 VS Code,Fuchsia 建議:

設定工作流程

使用 fuchsia.code-workspace 設定檔時,系統會設定在 Fuchsia 上使用 rust-analyzer 的建議預設值。如果您不使用工作區檔案,建議將下列設定新增至 settings.json


  // disable cargo check on save
  "rust-analyzer.checkOnSave.enable": false,
  "rust-analyzer.checkOnSave.allTargets": false,

  // workaround for https://fxbug.dev/42053708
  // needed if you see errors about extension host crashing
  "rust-analyzer.files.watcher": "server",

此外,建議您設定較小的工具提示並隱藏參數提示,以最佳化工作區:


  // optional: only show summary docs for functions (keeps tooltips small)
  "rust-analyzer.callInfo.full": false,
  // optional: don't activate parameterHints automatically
  "editor.parameterHints.enabled": false,

啟用 rustfmt

rust-analyzer 擴充功能會使用 rustup 安裝程式叫用 rustfmt,這是根據樣式規範設定 Rust 程式碼格式的工具。

如要使用 Fuchsia 原始碼設定 rustup,請執行以下指令:

rustup toolchain link fuchsia FUCHSIA_DIR/prebuilt/third_party/rust/HOST_OS

設定 rustup 後,rust-analyzer 擴充功能便會支援 Fuchsia 的 Rust 樣式指南 rustfmt.toml 進行額外設定。

使用「設定工作流程」一節的步驟,將下列程式碼片段新增至 settings.json


    // use fuchsia toolchain and fuchsia's rules for rustfmt:
    "rust-analyzer.rustfmt.extraArgs": [
        "+fuchsia",
        "--config-path=FUCHSIA_DIR/rustfmt.toml"
    ],

Fuchsia SDK 擴充功能

Bazel

Fuchsia SDK 會使用 Bazel 建構系統。Bazel 擴充功能可直接透過 VS Code 建構及執行元件。

這張圖顯示 VS Code 中成功的 Bazel 建構作業。