首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何配置地形代码在VS代码中的对齐和缩进?

如何配置地形代码在VS代码中的对齐和缩进?
EN

Stack Overflow用户
提问于 2020-06-05 19:31:58
回答 5查看 17.1K关注 0票数 6

我使用VS代码来开发地形代码。我目前为terraform提供的插件是:

代码语言:javascript
运行
复制
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

考虑以下代码:

代码语言:javascript
运行
复制
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
    }
  }
}

我希望在保存文件时将其重新格式化如下:

代码语言:javascript
运行
复制
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
        }
    }
}

这里发生了两件事:

  • 4个空间的压痕
  • 同一块中的所有赋值都是对齐的。

网上有很多关于如何做的资料,但我实在是太笨了,因为我做不到,所以我想得到一个非常具体的答案,包括以下的细节:

  • 使用什么样的地形插件?
  • 我的settings.json到底要写什么?

我的当前用户settings.json文件是:

代码语言:javascript
运行
复制
{
    "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文件是:

代码语言:javascript
运行
复制
{
    "git.ignoreLimitWarning": true,
    "powershell.codeFormatting.openBraceOnSameLine": false,
    "powershell.codeFormatting.whitespaceBeforeOpenBrace": false,
    "editor.formatOnPaste": true,
    "editor.formatOnSave": true
}
EN

回答 5

Stack Overflow用户

发布于 2021-02-09 10:00:10

建议使用2个空格作为terraform代码,而不是制表符或4个空格。你可以在风格公约上看到它

要配置VS代码,请执行以下操作:

  1. 这个地形应该安装在你的Mac上。
  2. 编辑settings.json并添加以下内容:
代码语言:javascript
运行
复制
"[terraform]": {
    "editor.formatOnSave": true
}

在此之后,您的所有*.tf文件将在保存时自动格式化。

票数 5
EN

Stack Overflow用户

发布于 2022-03-24 20:50:37

简单,同时安装更漂亮HashiCorp台形生成的扩展。

如果需要,可以进入vscode settings.json并为terraform添加一个节。

代码语言:javascript
运行
复制
"[terraform]": {
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "hashicorp.terraform",
    "editor.tabSize": 2, // optionally
  },
  "[terraform-vars]": {
    "editor.tabSize": 2 // optionally
  },
票数 4
EN

Stack Overflow用户

发布于 2021-12-22 14:49:46

其他的答案是好的和有效的。但是,如果有一个4个字符的缩进,并让自动保存过程将其恢复到2个字符,这真的很烦人。

不管出于什么原因,VSCODE和Terraform插件默认为4个空格。这可以通过将这些块添加到您的settings.json中来更改。

代码语言:javascript
运行
复制
    "[terraform]": {
        "editor.tabSize": 2
    },
    "[terraform-vars]": {
        "editor.tabSize": 2
    },

这将保持您的缩进到建议的2个空格时,您正在编辑,并避免暴力从4到2个空格,当自动保存过程保存您的文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62222899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档