我使用VS代码来开发地形代码。我目前为terraform提供的插件是:
Name: Terraform
Id: hashicorp.terraform
Description: Syntax highlighting, linting, formatting, and validation for Hashicorp's Terraform
Version: 1.4.0
Publisher: HashiCorp
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=HashiCorp.terraform
考虑以下代码:
output "sql_server" {
description = "A dictionary of objects containing various Azure Sql Server properties per respective location."
value = {
for k, instance in azurerm_sql_server.instance : k =>
{
resource_group_name = instance.resource_group_name
fully_qualified_domain_name = instance.fully_qualified_domain_name
name = instance.name
location = instance.location
is_primary = instance.location == var.primary_location
admin_login = instance.administrator_login
}
}
}
我希望在保存文件时将其重新格式化如下:
output "sql_server" {
description = "A dictionary of objects containing various Azure Sql Server properties per respective location."
value = {
for k, instance in azurerm_sql_server.instance : k =>
{
resource_group_name = instance.resource_group_name
fully_qualified_domain_name = instance.fully_qualified_domain_name
name = instance.name
location = instance.location
is_primary = instance.location == var.primary_location
admin_login = instance.administrator_login
}
}
}
这里发生了两件事:
网上有很多关于如何做的资料,但我实在是太笨了,因为我做不到,所以我想得到一个非常具体的答案,包括以下的细节:
我的当前用户settings.json文件是:
{
"workbench.startupEditor": "welcomePage",
"editor.minimap.enabled": false,
"terminal.integrated.scrollback": 1000,
"git.enableSmartCommit": true,
"editor.detectIndentation": false,
"window.zoomLevel": -1,
"diffEditor.renderSideBySide": false,
"extensions.ignoreRecommendations": false,
"workbench.colorTheme": "PowerShell ISE",
"powershell.codeFormatting.whitespaceBeforeOpenBrace": false,
"git.autofetch": true,
"terminal.integrated.rendererType": "dom",
"terraform.path": "C:\\Users\\mkharitonov\\.terraform\\terraform.exe"
}
我的本地工作区settings.json文件是:
{
"git.ignoreLimitWarning": true,
"powershell.codeFormatting.openBraceOnSameLine": false,
"powershell.codeFormatting.whitespaceBeforeOpenBrace": false,
"editor.formatOnPaste": true,
"editor.formatOnSave": true
}
发布于 2021-02-09 10:00:10
建议使用2个空格作为terraform代码,而不是制表符或4个空格。你可以在风格公约上看到它
要配置VS代码,请执行以下操作:
settings.json
并添加以下内容:"[terraform]": {
"editor.formatOnSave": true
}
在此之后,您的所有*.tf
文件将在保存时自动格式化。
发布于 2022-03-24 20:50:37
简单,同时安装更漂亮和HashiCorp台形生成的扩展。
如果需要,可以进入vscode settings.json并为terraform添加一个节。
"[terraform]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "hashicorp.terraform",
"editor.tabSize": 2, // optionally
},
"[terraform-vars]": {
"editor.tabSize": 2 // optionally
},
发布于 2021-12-22 14:49:46
其他的答案是好的和有效的。但是,如果有一个4个字符的缩进,并让自动保存过程将其恢复到2个字符,这真的很烦人。
不管出于什么原因,VSCODE和Terraform插件默认为4个空格。这可以通过将这些块添加到您的settings.json
中来更改。
"[terraform]": {
"editor.tabSize": 2
},
"[terraform-vars]": {
"editor.tabSize": 2
},
这将保持您的缩进到建议的2个空格时,您正在编辑,并避免暴力从4到2个空格,当自动保存过程保存您的文件。
https://stackoverflow.com/questions/62222899
复制相似问题