The official Terraform language server (terraform-ls) maintained by HashiCorp provides IDE features to any LSP-compatible editor.
HashiCorp Terraform Language Server (terraform-ls) is a tool designed to enhance development workflows by providing IDE-like features for Terraform in any editor that supports the Language Server Protocol (LSP). This official implementation from HashiCorp enables developers to work more efficiently with Terraform code.
Key Features:
Code Completion: Automatically suggests Terraform resources, arguments, and variables.
Syntax Validation: Provides real-time feedback on syntax errors.
Hover Information: Displays detailed documentation for Terraform constructs when hovering over them.
Intelligent Refactoring: Facilitates safe code changes with context-aware suggestions.
Audience & Benefit:
Ideal for developers, DevOps engineers, and infrastructure as code (IaC) practitioners who work with Terraform. It improves productivity by reducing errors, enhancing code quality, and streamlining the development process.
The software can be installed via winget, making it easy to integrate into your existing development environment.
README
Terraform Language Server
The official Terraform language server (terraform-ls) maintained by HashiCorp provides IDE features to any LSP-compatible editor.
Current Status
Not all language features (from LSP's or any other perspective) are available
at the time of writing, but this is an active project with the aim of delivering
smaller, incremental updates over time. You can review the LSP feature matrix.
We aim to communicate our intentions regarding breaking changes via semver. Relatedly we may use pre-releases, such as MAJOR.MINOR.PATCH-beta1 to gather early feedback on certain features and changes.
We ask that you report any bugs in any versions but especially in pre-releases, if you decide to use them.
Installation
Some editors have built-in logic to install and update the language server automatically, so you may not need to worry about installation or updating of the server.
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.
The key features of Terraform are:
- Infrastructure as Code: Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.
- Execution Plans: Terraform has a "planning" step where it generates an execution plan. The execution plan shows what Terraform will do when you call apply. This lets you avoid any surprises when Terraform manipulates infrastructure.
- Resource Graph: Terraform builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, Terraform builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.
- Change Automation: Complex changesets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what Terraform will change and in what order, avoiding many possible human errors.
Coder is an open source platform for creating and managing developer workspaces on your preferred clouds and servers. By building on top of common development interfaces (SSH) and infrastructure tools (Terraform), Coder aims to make the process of provisioning and accessing remote workspaces approachable for organizations of various sizes and stages of cloud-native maturity.
Microsoft Azure Export for Terraform imports the resources that are supported by the Terraform AzureRM provider into the Terraform state, and generates the corresponding Terraform configuration.
Both the Terraform state and configuration are expected to be consistent with the resources' remote state, i.e., terraform plan shows no diff.
The user then is able to use Terraform to manage these resources.
Azure Terrafy imports the resources that are supported by the Terraform AzureRM provider into the Terraform state, and generates the corresponding Terraform configuration.
Both the Terraform state and configuration are expected to be consistent with the resources' remote state, i.e., terraform plan shows no diff.
The user then is able to use Terraform to manage these resources.
Terragrunt is a thin wrapper for Terraform that provides extra tools for keeping your Terraform configurations DRY, working with multiple Terraform modules, and managing remote state.
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.
The key features of Terraform are:
- Infrastructure as Code: Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.
- Execution Plans: Terraform has a "planning" step where it generates an execution plan. The execution plan shows what Terraform will do when you call apply. This lets you avoid any surprises when Terraform manipulates infrastructure.
- Resource Graph: Terraform builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, Terraform builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.
- Change Automation: Complex changesets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what Terraform will change and in what order, avoiding many possible human errors.
Coder is an open source platform for creating and managing developer workspaces on your preferred clouds and servers. By building on top of common development interfaces (SSH) and infrastructure tools (Terraform), Coder aims to make the process of provisioning and accessing remote workspaces approachable for organizations of various sizes and stages of cloud-native maturity.
Microsoft Azure Export for Terraform imports the resources that are supported by the Terraform AzureRM provider into the Terraform state, and generates the corresponding Terraform configuration.
Both the Terraform state and configuration are expected to be consistent with the resources' remote state, i.e., terraform plan shows no diff.
The user then is able to use Terraform to manage these resources.
Azure Terrafy imports the resources that are supported by the Terraform AzureRM provider into the Terraform state, and generates the corresponding Terraform configuration.
Both the Terraform state and configuration are expected to be consistent with the resources' remote state, i.e., terraform plan shows no diff.
The user then is able to use Terraform to manage these resources.
Terragrunt is a thin wrapper for Terraform that provides extra tools for keeping your Terraform configurations DRY, working with multiple Terraform modules, and managing remote state.
Terraform exporter for SAP BTP (btptf CLI) is a tool that helps you integrate existing SAP BTP resources into Terraform/OpenTofu,
facilitating a seamless adoption of Infrastructure-as-Code practices.
Terraform exporter for SAP BTP (btptf CLI) is a tool that helps you integrate existing SAP BTP resources into Terraform/OpenTofu,
facilitating a seamless adoption of Infrastructure-as-Code practices.
Coder enables organizations to set up development environments in their public or private cloud infrastructure.
Cloud development environments are defined with Terraform, connected through a secure high-speed Wireguard® tunnel, and automatically shut down when not used to save on costs.
Coder gives engineering teams the flexibility to use the cloud for workloads most beneficial to them.
- Define cloud development environments in Terraform
- EC2 VMs, Kubernetes Pods, Docker Containers, etc.
- Automatically shutdown idle resources to save on costs
- Onboard developers in seconds instead of days
Coder enables organizations to set up development environments in their public or private cloud infrastructure.
Cloud development environments are defined with Terraform, connected through a secure high-speed Wireguard® tunnel, and automatically shut down when not used to save on costs.
Coder gives engineering teams the flexibility to use the cloud for workloads most beneficial to them.
- Define cloud development environments in Terraform
- EC2 VMs, Kubernetes Pods, Docker Containers, etc.
- Automatically shutdown idle resources to save on costs
- Onboard developers in seconds instead of days