HashiCorp Terraform Language Server logo

HashiCorp Terraform Language Server HashiCorp

Use this command to install HashiCorp Terraform Language Server:
winget install --id=Hashicorp.TerraformLanguageServer -e

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 encourage you to browse existing issues and/or open new issue if you experience a bug or have an idea for a feature.

Stability

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.

Read the installation page for installation instructions.

Usage

The most reasonable way you will interact with the language server is through a client represented by an IDE, or a plugin of an IDE.

Please follow the relevant guide for your IDE.

Contributing

Please refer to .github/CONTRIBUTING.md for more information on how to contribute to this project.

Credits

Telemetry

The server will collect data only if the client requests it during initialization. Telemetry is opt-in by default.

Read more about telemetry.

Versions
0.36.5
Website
License