共用方式為


查看畫布應用程式的原始程式碼文件

使用畫布應用程式的原始程式碼來查看建立者在 Power Apps Studio 中所做的變更。 產生的畫布應用程式 YAML 程式碼是唯讀的,無法修改。 對該文件的任何變更都將被忽略並且可能會遺失。

  • YAML 模式正在積極開發中,內容可能不完整。
  • *.pa.yaml 檔案的目前靜態模式可在此處取得。

Power Fx 和 YAML 是 Power Apps 原始程式碼使用的語言。 YAML 因其人類可讀的格式而受到重視,並受益於各種各樣的編輯器、工具和操作庫。

存取原始程式碼檔

如果您使用的是 Dataverse Git 整合,則可以存取原始程式碼檔,而無需 .msapp 檔。

Power Apps Studio 建立畫布應用程式的原始程式碼,該程式碼作為 *.pa.yaml 檔案儲存在 .msapp 檔案中。 該 msapp 檔案是一個包含一組檔案的二進位檔案,其中包括原始程式碼。

提示

為了有效使用應用程式生命週期管理 (ALM),建議使用解決方案。 畫布應用程式套件不支援 ALM,僅應在 Dataverse 不可用時才用於基本匯入和匯出功能。

您也可以從 .msapp 檔案或使用 Power Platform CLI 獲取原始程式碼檔。

*.pa.yaml 檔可以在解壓縮的 .msapp\Src 資料夾中找到。

重要

只有位於解壓縮的 .msapp\Src 目錄中的檔案才能與原始檔控制一起使用。 .msapp 中的 JSON 檔不應作為原始程式碼使用,因為這些檔案在儲存和載入週期之間不穩定。

使用 Power Platform CLI 下載並解壓縮 pa.yaml 檔

使用 Power Platform CLI 連線到您的環境,然後使用以下命令:

  1. 要列出目前環境中的畫布應用程式,請使用命令:pac canvas list
  2. 要提取原始程式碼文件,請使用命令:pac canvas download 以及參數 -d

從 .msapp 檔案中提取原始程式碼文件

若要從 .msapp 檔中提取原始程式碼檔,有兩個選項:

  1. 手動解壓縮 .msapp 檔。
  2. 或者使用下列命令:
 Expand-Archive -Path "C:\path\to\yourFile.msapp" -DestinationPath "C:\path\to\destination"

.msapp 檔案的文件結構

對於沒有 \src 資料夾的舊 .msapp 檔,請按照以下步驟生成原始程式碼檔:

  1. 在 Power Apps Studio 中匯入並重新儲存並下載新的 .msapp
  2. 此後,您可以繼續提取原始程式碼檔案

\src 資料夾中找到下列檔案和資料夾:

  • App.pa.yaml:代表 App。
  • [畫面名稱].pa.yaml:每個畫面一個檔,代表畫面。
  • \Component:每個元件包含一個檔案的資料夾,表示為 [元件名稱].pa.yaml。

只有 \src 資料夾中的 *.pa.yaml 檔案可以用作原始程式碼。 任何其他文件都不應用程式作原始程式碼。

Power Apps YAML 結構描述版本

目前,Power Apps 原始程式碼有三個架構版本:

格式名稱 檔案副檔名 Description
實驗性 *.fx.yaml 實驗性的 Power Apps Git 版本控制pac canvas unpack所使用的版本-不再處於開發中。
早期預覽 - 程式碼查看、複製程式碼、貼上程式碼所使用的版本。 此模式中沒有版本訊息,因此不適合進行版本控制。 當程式碼檢視正式可用 (GA) 時,它會切換到原始程式碼預覽格式。
原始程式碼 *.pa.yaml 文件 包括原始檔控制的增強功能和版本詳細資訊,並且正在積極開發中。

實驗格式 (*.fx.yaml)

此模式描述了 Power Platform CLI 用於處理畫布應用程式並將其轉換為原始程式碼格式的實驗格式。 這種格式不再積極開發。

您無法直接將 *.fx.yaml 檔案轉換為新格式。 若要轉換舊版應用程式,請將畫布應用程式封裝為 .msapp 檔案並將其匯入 Power Apps Studio。

預覽版

此版本在預覽期間由程式碼檢視使用。 它旨在在 Power Apps Studio 中建立畫布應用程式,讓您輕鬆複製和貼上控制項。 在此版本中,原始程式碼在 Power Apps Studio 中使用,而不是像實驗格式那樣進行轉換。

預覽期間的格式是暫時性的,目前已不再使用。 您可以從預覽格式貼上程式碼。

以下是對實驗格式所做的變更:

  1. ZIndex 屬性刪除:ZIndex 屬性被刪除。 相反,螢幕被表示為控制項陣列。 控制項的順序決定了它們的堆疊順序。 普通控制按升序排列,而回應式控制則依降序排列。
  2. JSON 物件表示替換:不再使用「As」語法來定義控制項類型。 相反,控制項名稱識別碼的左側仍然是唯一的。 僅序列化不同於預設值的屬性。 兩個新屬性定義了控制項類型和預設值:
  • 控制項:表示 YAML 中的控制項類型。
  • 變體:標識控制項類型的變體,它可能會改變預設屬性值、新增或刪除屬性,或修改控制項的行為或版面配置。

這些屬性用於執行個體化控制項,不接受 Power Fx 運算式。

原始程式碼 (*.pa.yaml)

重要

  • 畫布應用程式的 YAML 原始程式碼正在積極開發中。 內容可能不完整且可能會變更。
  • .pa.yaml 檔案是唯讀的,只能用於查看在 Power Apps Studio 中所做的變更。 應用程式在載入時不會使用這些檔案。
  • 不支援外部編輯、合併和衝突解決。

此模式專為原始檔控制目的而設計,並允許使用單一 YAML 檔案。

與之前格式相比的更新包括:

  1. 頂層節點元素的分組:
    • 頂層關鍵字「App」和「Screens」是現在元素如何在頂層節點中進行分組的範例。
  2. 控制項版本規範:
    • 現在,您可以使用控制關鍵字,後面跟著 @ 運算子來指定控制項的版本。 如果沒有指定版本,則使用控制項的最新版本。 此版本用於反序列化原始程式碼的屬性。 控制項的執行階段版本由製作版本定義。
  3. 簡化變體名稱:
    • 並非所有控制項都需要變體。
  4. 所有控制項的 ZIndex 一致:
    • 現在所有控制項都使用升序來確定 ZIndex 值,從 1 開始。 此行為符合 CSS 2 規範