Releases: hashicorp/vscode-terraform
v2.0.0-rc.2
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
andtflint
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
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
andtflint
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)
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
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
What's New
Terraform: Show Plan
command works againTerraform: 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
Thanks to a fix by @christek91 this build should no longer experience the slow-downs on large setups.
Fixes
- Exclude configured directories from indexing during initial crawl (Fixes #153, #156) Thanks to @christek91
1.3.5
Fixes
- Allow brackets in auto-closing in double quote string Thanks to @aliusmiles
- Fix broken multi-line strings (Closes #109) Thanks to @squidfunk
- (Partially fix #118) High-CPU usage on auto-complete Thanks to @michaelmoussa
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
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 Position24884c2
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
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 inPATH
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.
- the Terraform extension no longer supply a default config for
[terraform]editor.formatOnSave: false
, instead
the default setting ofeditor.formatOnSave
applies unless you have overridden it yourself. - the setting
terraform.format.enable
is now gone as it doesn't make sense anymore - the setting
terraform.formatOnSave
is now gone as it has no effect- use
editor.formatOnSave
or[terraform]editor.formatOnSave
instead
- use
Thanks for using my extension.