terraform

Supporting the HashiCorp Terraform Extension for Visual Studio Code

Code is core to the Infrastructure as Code experience. Syntax highlighting, editor extensions, and language servers are some of the initial ways our users interact with HashiCorp Configuration Language (HCL) and HashiCorp Terraform. This need has primarily been filled by our community, in various ways and in many editors.

One of the most popular integrations is the Visual Studio Code (VS Code) extension by Mikael Olenfalk, and he has transferred ownership of the extension to HashiCorp. We are working internally to update the VS Code extension to fully support the 0.12 syntax and use our Language Server by default. A new version will be shipping later this year with the updates, hopefully under the same VS Code marketplace entry, to make the upgrade seamless for existing users. Once we are closer to release, we will publish a new blog post with a tour of some of the new features and enhancements from the Language Server integration.

We always knew we wanted to give our users a great experience in the editor, but just like the provider ecosystem, the editor ecosystem is vast, and it's hard to choose places to focus. There are additional editor extensions for Atom, Sublime Text, Vim, JetBrains IntelliJ, among many others. Addressing the needs of multiple editors has been recently simplified with the introduction and adoption of the Language Server Protocol. This protocol makes implementation of features in HCL's native implementation language of Go much easier to introduce to multiple editors at once. Julio Sueiras created an example language server that could be used by multiple editors and served as inspiration for our own implementation of a Terraform Language Server, which we recently open sourced. Julio is continuing to collaborate on our version of the language server as well.

We'd like to take one more chance to thank both Mikael Olenfalk and Julio Sueiras, as well as the many other members of the broader Terraform open source community, who have worked on these integrations in their free time. Our community has made the developer experience of Terraform a great one, and the path from here that much easier to continue to improve upon.


Sign up for the latest HashiCorp news