Skip to content

Releases: hashicorp/vscode-terraform

v2.0.0-rc.2

05 Jun 19:03
Compare
Choose a tag to compare
v2.0.0-rc.2 Pre-release
Pre-release

Updates specific to 2.0.0-rc.2

  • Download terraform-ls from releases.hashicorp.com instead of GitHub (#332)
  • Separate toggle command for language server into enable and disable (#334)
  • Delete existing ls binary before unpacking upgrade (#343)

2.0.0 Release Notes

The Terraform VSCode extension has a new home at HashiCorp! We're integrating with a new language server designed to create a stable integration with Terraform through public APIs. When you upgrade to v2.0.0, the new language server will be installed by default, and checking for updates automatically.

Two commands have been added to manage the language server manually, which you can access via the Command Palette: "Terraform: Install/Update Language Server" and "Terraform: Enable/Disable Language Server".

If you want to use a custom-built language server, it can be enabled with the Terraform extension setting terraform.languageServer.pathToBinary. Include the full path and binary name.

In this version, we've updated the syntax highlighting to work under Terraform 0.12. Errors that were seen in trying to read 0.12 files have also been eliminated. Highlighting and other core features will be partially compatible under 0.11 as well but continuing development will only focus on 0.12 and future versions. If you work in 0.11, you should pin your extension to an earlier version.

Other updates:

  • Full-document formatting is provided through the language server and can be configured through user or workspace settings
  • Added shortcuts (snippets) for variable and for_each syntax -- fore, vare, varm
  • For contributors, the TypeScript testing and linting frameworks have been brought current with the recommended packages
  • Logos now match the current brand guidelines (pretty snazzy!)
  • Auto-completion, hover, and definition features are now managed by the language server, so see their changelog for the most recent updates
  • External commands such as terraform validate and tflint are removed from the extension, but we plan to add hooks for these and/or additional integrations via the language server.
  • The outline view and model overview have been removed for now in order to focus on core features

v2.0.0-rc.1

04 Jun 19:05
Compare
Choose a tag to compare
v2.0.0-rc.1 Pre-release
Pre-release

The Terraform VSCode extension has a new home at HashiCorp! We're integrating with a new language server designed to create a stable integration with Terraform through public APIs. When you upgrade to v2.0.0, the new language server will be installed by default, and checking for updates automatically.

Two commands have been added to manage the language server manually, which you can access via the Command Palette: "Terraform: Install/Update Language Server" and "Terraform: Enable/Disable Language Server".

If you want to use a custom-built language server, it can be enabled with the Terraform extension setting terraform.languageServer.pathToBinary. Include the full path and binary name.

In this version, we've updated the syntax highlighting to work under Terraform 0.12. Errors that were seen in trying to read 0.12 files have also been eliminated. Highlighting and other core features will be partially compatible under 0.11 as well but continuing development will only focus on 0.12 and future versions. If you work in 0.11, you should pin your extension to an earlier version.

Other updates:

  • Full-document formatting is provided through the language server and can be configured through user or workspace settings
  • Added shortcuts (snippets) for variable and for_each syntax -- fore, vare, varm
  • For contributors, the TypeScript testing and linting frameworks have been brought current with the recommended packages
  • Logos now match the current brand guidelines (pretty snazzy!)
  • Auto-completion, hover, and definition features are now managed by the language server, so see their changelog for the most recent updates
  • External commands such as terraform validate and tflint are removed from the extension, but we plan to add hooks for these and/or additional integrations via the language server.
  • The outline view and model overview have been removed for now in order to focus on core features

v1.4.0 (approximate)

11 Jun 12:39
Compare
Choose a tag to compare

This is a tag for the last pre 2.0.0 commit in the repository and we think the approximate location of the 1.4.0 release. This tag is mostly just a placeholder for the 1.4.0 VSIX asset.

1.3.12

12 Jun 15:46
Compare
Choose a tag to compare

1.3.12

Sadly, I am currently very busy with my work so I cannot dedicate anytime to this project, however I am very lucky to have enthuastic users who have stepped up and started to fix small issues and add some features.

Terraform 0.12 support is still not available, but some progress is being made in issue #157 if you want to see this support land, I would kindly ask you to get involved with the users in that ticket.

Fixes

  • Updated auto-completion data to latest available Thanks to @ranga543
  • Updated syntax-highlighting to better support Terraform 0.12 Thanks to @MattFenner
  • Add support for Terraform syntax highlighting in Markdown files Thanks to @stuartleeks
  • Track references to modules (Fixes #165)
  • Track references in ternary expressions (Fixes #123)
  • Track references in heredocs (Fixes #159)

1.3.10

30 Apr 19:25
Compare
Choose a tag to compare

What's New

  • Terraform: Show Plan command works again
  • Terraform: Preview Graph now uses the new WebView API and so works again
  • Added autocompletion support for the OCI provider Thanks to @ASatanicPickle

1.3.8

13 Mar 07:58
Compare
Choose a tag to compare

Thanks to a fix by @christek91 this build should no longer experience the slow-downs on large setups.

Fixes

1.3.5

25 Sep 08:30
Compare
Choose a tag to compare

Fixes

Unimportant news

  • Pull-requests no longer require the AppInsights key which means they can actually succeed
  • We now correctly parse and compare Terraform versions so that we can evaluate required_versions statements (not surfaced in the UI yet)

1.3.1, 1.3.2, 1.3.3, 1.3.4

01 Aug 15:41
Compare
Choose a tag to compare

Fixes

  • Fix one error in the completion provider which would cause it to fail if a single argument was unknown
  • Fixed two errors which were automatically reported through telemetry:
    • f2afae1 parseHcl might return error without Position
    • 24884c2 groupFor fails when called with Uri from vscode as opposed to Uri from vscode-uri
  • Fixed two errors which were automatically reported through telemetry
  • Fix one error during autocompletion which was reported by telemetry
    • 19be431 Do not parse user input as RegExp
  • No longer raise Output window on warning or error as it is to intrusive (Closes #115)

1.3.0

01 Aug 15:14
Compare
Choose a tag to compare

New Features

  • Correctly fold HEREDOCs (closes #48)
  • Resources are not correctly groups so that goto definition works as expected (closes #107)
  • Looks for all terraform binaries in PATH and picks the newest
  • Show a warning if erd0s.terraform-autocomplete is installed as it breaks document links (refer #102)
  • Resources are now grouped by folder internally which fixes several reported issues #103
  • Support outline view
  • Simple custom view which shows an overview of all modules
    • This is the very first and very simplest version so you cannot really interact with the view.

Breaking Changes

  • Format On Auto-Save is now gone (closes #112 and others, see below for an in-depth explanation)

Fixes

  • Catches exceptions in all commands and providers and reports them automatically (if enabled, closes #106)

Format On Auto-Save Removal

In one of the very first versions of the Terraform plugin, that is before VSCode had format-on-save
or the auto-save features, the Terraform plugin had its own implementation of format-on-save which
just listened to save events from the editor and then overwrite the files.

Later auto-save was introduced and because the Terraform plugin was listening to save events and
manually performing format on save, that meant that without doing anything we suddenly had
format-on-auto-save.

A while back VSCode introduced a proper API for performing formatting and formatting on save; these
APIs have been in use by the extension since 0.0.20; when these API were introduced they deliberatively
omitted format on auto save, because it breaks development workflows in more complicated languages.

Now the Terraform plugin has started to become relatively complicated in itself with auto completion
support and refactoring support as well as more and more coding features added all the time. As the
usage of the extension has been growing and we have started to see more and more bugs because we
perform format-on-auto-save.

So now I had to remove the feature.

Sorry to all of you who liked the feature. I hope you will keep using my extension regardless of the lack of this feature.

With the removal of this feature the following configuration changes have been made.

  1. the Terraform extension no longer supply a default config for [terraform]editor.formatOnSave: false, instead
    the default setting of editor.formatOnSave applies unless you have overridden it yourself.
  2. the setting terraform.format.enable is now gone as it doesn't make sense anymore
  3. the setting terraform.formatOnSave is now gone as it has no effect
    • use editor.formatOnSave or [terraform]editor.formatOnSave instead

Thanks for using my extension.

1.2.3

04 Jul 23:23
Compare
Choose a tag to compare

Fixes

  • Unbreak Show Workspace Symbols