

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 建立 AWS CloudFormation 範本 AWS Toolkit for Visual Studio Code
<a name="cloudformation-template"></a>

 AWS Toolkit for Visual Studio Code 可協助您撰寫 AWS CloudFormation 和 SAM 範本。

## 先決條件
<a name="cloudformation-template-prereq"></a>

### 適用於 VS 程式碼和登入資料先決條件的 Toolkit
<a name="w2aac17c25b9b7b3"></a>
+ 您必須先符合使用者指南[安裝 Toolkit for VS Code 中概述的需求，才能從 Toolkit for VS Code](setup-toolkit.md#setup-prereq) 存取 CloudFormation 服務。
+ 您在 中建立的登入資料[身分驗證與存取](establish-credentials.md)必須包含對 AWS CloudFormation 服務的適當讀取/寫入存取權。
**注意**  
如果 **CloudFormation** 服務顯示**載入 CloudFormation 資源訊息時發生錯誤**，請檢查您已連接到這些登入資料的許可。另請注意，對許可所做的變更可能需要幾分鐘的時間才能在 **AWS Explorer** 中更新。

### CloudFormation 範本先決條件
<a name="w2aac17c25b9b7b5"></a>
+ 安裝並啟用 [Redhat 開發人員 YAML VS 程式碼](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml)延伸模組。
+ 使用 Redhat 開發人員 YAML VS 程式碼延伸時，您需要連線到網際網路，因為它用於在您的機器上下載和兌換 JSON 結構描述。

## 使用 YAML 結構描述支援撰寫 CloudFormation 範本
<a name="tamplate-schema"></a>

工具組使用 YAML 語言支援和 JSON 結構描述來簡化撰寫 CloudFormation 和 SAM 範本的程序。語法驗證和自動完成等功能不僅讓程序更快，也有助於改善範本的品質。選取範本的結構描述時，建議使用下列最佳實務。

**CloudFormation 範本**
+ 檔案具有 .yaml 或 .yml 副檔名。
+ 檔案具有最上層`AWSTemplateFormatVersion`或**資源**節點。

**SAM 範本**
+ 已針對 CloudFormation 說明的所有條件
+ 檔案具有最上層**的轉換**節點，其中包含開頭為 的值`AWS::Serverless`。

結構描述將在檔案修改時套用。例如，SAM 範本結構描述會在將無伺服器轉換新增至 CloudFormation 範本並儲存檔案後套用。

### 語法驗證
<a name="w2aac17c25b9c11c11"></a>

YAML 擴充功能會自動將類型驗證套用至您的範本。這會反白顯示指定屬性的無效類型項目。如果您將滑鼠暫留在反白顯示的項目上，延伸項目會顯示修正動作。

### 自動完成
<a name="w2aac17c25b9c11c13"></a>

新增欄位、列舉值或其他[資源類型](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-resource-fields)時，您可以輸入 **Ctrl \+ 空格**來啟動 YAML 延伸模組的自動完成功能。