vscode-azurearmtools

Azure Resource Manager Tools for Visual Studio Code

MIT License

Stars
135
Committers
34

Bot releases are hidden (Show)

vscode-azurearmtools - v0.12.0

Published by StephenWeatherford about 4 years ago

Contextualized snipptets, nested template parameters

Version 0.12.0

Added

  • Snippet contextualization #654
    • Snippets now appear only in locations where they make sense
    • Automatically bring up snippets for new parameters, variables, outputs, etc. when the first double quote is typed
    • Automatically bring up snippets for new resources, user function parameters, etc. when the first curly brace is typed
  • Support code lenses, errors, intellisense and code actions for nested templates, just like for parameter files #837

Fixed

  • "filename.json does not appear to be an Azure Resource Manager deployment template file" #838
  • The notification information is inconsistent with the status bar "Select/Create Parameter File…" #873
  • Show error icon in pick list for current parameter file if not found [#693](https://github.com/microsoft/Sscode-azurearmtools/icon issues/693)
  • Revision comparison shows unexpected problems #601
  • The ARM function listchannelwithkeys is not recognized as a valid function. #846
  • Error shows when selecting parameter file for an unsaved template file #841
  • Status bar doesn't show up when changing a file to arm-template #839
  • Assertion failure in parameter file with no "parameters" object if there are missing parameters #829
  • Adding in Resource Group snippet (thanks Ryan Yates @kilasuit!) #726
  • SetDiagnosticsFromTask for source 'arm-template (validation)' throws an exception during suites #875
  • Disable display of "documentColumnIndex (29) cannot be greater than the line's maximum index" assertion #843
  • "value cannot be null" when providing keyvault reference to a nested deployment parameter #827
  • Error message and !!MISSING: command!! messages in code lenses opening template file when params file missing #810
  • Error shows when selecting parameter file for an unsaved template file #666
  • Invalid location given for error when resource name evaluates to empty string #816
  • Using 'copy' in nested template variables triggered an template validation error #730
vscode-azurearmtools - v0.11.0

Published by StephenWeatherford over 4 years ago

Added

  • Better support for nested templates #484
    • Support for inner-scoped expressions (expressionEvaluationOptions.scope = 'inner') for parameters, variables and user functions #554
    • Fixed null reference exception with nested templates when a parameter file is used #716
    • Code lenses mark nested and linked template and their effective expression scope
    • Warning about unreachable parameters/variables in a nested template with outer scope
  • New code lenses show effective source and value of top-level parameters #675
  • First step taken to allow us to restrict snippets to appropriate locations in a template file #789
  • Unused parameters and variables are now displayed grayed out like unused code #679
  • Recognition for the listKeyValue function #720

Fixed

  • 'Load Balancer Internal' snippet: incorrect placement of subnet for frontendIPConfigurations (thanks Anatoly Basharin @abasharin!) #725
  • Format document breaks when using multi-line functions #435
  • Made prompt for "Type a parameter name" more explanatory #765
  • Improvements for Insert Item... menu (thanks Nils Hedström @nilshedstrom!) #670
  • Fails to create a parameter file for arm template when encoded with UTF-8 BOM #721
  • Schema validation is not identifying correct location in nested templates #625
  • Shortened many schema-related warning messages #623
  • "Internal Error: Validation threw an exception" with assembly including linked templates #773
  • Completion list for "location" shows incorrect icons #676
  • Formatting: empty object blocks should be left alone, not expanded to multi-line #753
  • Template validation reports parameter value not specified when it uses a keyvault reference #609
  • Template with apiProfile not honored among resources #635
  • Microsoft.Logic/workflows snippet apiVersion references removed schema #700

Changed

  • Made naming of linked template snippet consistent with the terminology in current docs and added a new snippet for nested templates #744
  • Updated schema cache #790
vscode-azurearmtools - v0.10.0

Published by StephenWeatherford over 4 years ago

Added

  • Improved parameter file support:
    • Completions for missing and new parameter values (type double quote or CTRL+SPACE)
    • Quick fix and code actions for adding missing parameter values
    • Rename parameters across template and parameter file
    • Go To Definition and Find References for parameters across both files
  • Insert item... (variables, parameters, resources, functions, outputs) implemented by Nils Hedström @nilshedstrom, thanks!
    Look for this in the editor context menu or the ARM Template Outline view!
  • Completions for resourceId arguments based on resources found inside the template
  • New Application Gateway and Application Gateway and Firewall snippets (thanks Emmanuel Auffray @ManuInNZ!)

Changed

  • Suggestion: Auto-complete should not insert "()" #501
  • Removed arm-param-value snippet in parameter files (replaced by new parameter auto-completions)
  • Add lightbulbs to increase discoverability of parameter/variable renames

Fixed

  • Variable autocomplete does not show variables without quotes #361
  • Use latest schema version for ARM Template parameter file (thanks Wilfried Woivre @wilfriedwoivre!) #622
  • Ensure snippet resource definitions align with best practices doc #525
  • Snippets should use tabs instead of spaces so the editor can adjust the tabs to the current editor settings #633
  • dateTimeAdd function not recognized #636
  • Rename dialog should not include quotes (#660)(https://github.com/microsoft/vscode-azurearmtools/issues/660)
  • Rename doesn't work on a variable/parameter with a hyphen #661
  • Template validation doesn't recognize 'environment()' function when full validation enabled [#531]((https://github.com/microsoft/vscode-azurearmtools/issues/531)
  • Space after colon (:) removes IntelliSense Selection List #482
  • Pop up 2 dialogs when renaming a resource that can't be renamed #407
  • autocomplete of params/var replaces needed code #127
  • ARM template validation cannot handle "copy" in outputs section #600
    • Note: Currently works only for resource group deployment, see #695
vscode-azurearmtools - v0.9.2

Published by StephenWeatherford over 4 years ago

Changed

  • Use .NET Install Tool for Extension Authors (ms-dotnettools.vscode-dotnet-runtime) to download and install .NET core runtime
vscode-azurearmtools - v0.9.1

Published by StephenWeatherford over 4 years ago

Fixed

  • There are problems with this document's schema impacting one or more items in the document (ignore invalid formats in schemas) #570
  • Use dotnet core v3.1
  • Attempt to fix problems installing dotnet core involving TLS
vscode-azurearmtools - v0.9.0

Published by StephenWeatherford over 4 years ago

Added

  • First round of support for parameter files
    • Specify a parameter file to associate with a template file
    • Parameter file will be used to enable additional validation
    • Create new parameter file from parameters within the template
  • Support filtering for child resource type name and apiVersion values
  • Template sorting (implemented by Nils Hedström @nilshedstrom, thanks!)
  • Snippet improvements
    • apiVersions updated
    • various fixes and standardization
  • Added more resource type icons for ARM TEMPLATE OUTLINE view (thanks Nils Hedström @nilshedstrom!) #253
  • Support for schema auto-completion inside nested templates

Changed

  • Now using a single output for extension and language server

Fixed

  • "Found more than 1 match" (oneOf error) in some ARM templates
  • Reading schemas from .zip file does not work on Mac
  • Arm Template Outline doesn't show up when you first open a file, but does when you tab back to it (thanks Nils Hedström @nilshedstrom!) #470
  • Snippets should follow the recommendations in https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md #456
  • Not getting any completion for subscription().xxx #526
  • autocomplete list for child resources should be filtered based on the parent #350
  • autocomplete list for apiVersions on child resources is empty #351
  • Null ref exception in validation with empty doc or doc containing only a comment
  • Add space after colon with IntelliSense #460
vscode-azurearmtools - v0.8.5 hot fix

Published by StephenWeatherford over 4 years ago

Fixed

  • "Error loading Schemas" #536
vscode-azurearmtools - v0.8.4

Published by StephenWeatherford over 4 years ago

Added

  • Added new snippets for subscription, management group and tenant deployments scaffolding (arm!s, arm!mg and arm!t) #449

Fixed

  • An error in loading ARM schemas from 2014 Preview #438
  • Fallback on cached schemas on Linux and MacOS
  • arm! and armp! snippets are using old $schema (thanks Nils Hedström @nilshedstrom!) #432
  • Fixed icons for "Functions" entry in treeview (thanks Nils Hedström @nilshedstrom!) #427
  • Assertion Failed when opening ARM Templates #441
  • Add optional customer survey
  • Updated web-app and web-app-deploy schema to 2018-11-01 #451
  • "Format Document" and schema validation don't work against unsaved ARM templates #464
  • Error downloading dotnet - VERSION_ID: unbound variable #422
  • Engineering improvements
vscode-azurearmtools - v0.8.3

Published by StephenWeatherford almost 5 years ago

Fixed

  • Cannot install extension with "'" in username/users path #356
  • Error updating $schema if editor no longer has focus #389
  • Should only ask once per vscode session to upgrade $schema if Not Now chosen #391
  • We shouldn't allow renaming built-in functions #385
  • Update API Version on Nested Deployment Snippet #402
  • Improve diagnostics for dotnet acquisition failures
  • Added current schemas as cache in case schemas fail to download

Added

  • Intellisense support for additional runtime functions:
    • listAuthKeys
    • listClusterAdminCredential
    • listCredential
    • listQueryKeys
    • listSyncFunctionTriggerStatus
  • New "Reload Cached Schemas" command
  • Added six new resource icons (plus functions icons see #421) for ARM Template Outline (thanks Nils Hedström @nilshedstrom!) #417
vscode-azurearmtools - v0.8.2

Published by StephenWeatherford almost 5 years ago

Version 0.8.2 (2019-11-08)

Fixed

  • Full template validation has been temporarily disabled until we can find a long-term solution for some bugs. This fixed:
    • Template validation error for evaluated variables #380
    • Validation fails using int() with parameter
    • Validation error if you have a parameter of type "object" [regression from 0.7.0]
vscode-azurearmtools - v0.8.1

Published by StephenWeatherford almost 5 years ago

Version 0.8.1 (2019-11-01)

Added

  • Support for variable iteration ("variable COPY blocks") (ARM template variable copy block highlighting error #30), see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-multiple#variable-iteration
  • Added azureResourceManagerTools.languageServer.dotnetExePath setting to allow using an existing dotnet installation as a work-around for installation issues
  • Added expression metadata for the environment() function #344
  • Do not validate schema against properties containing expressions
  • Added additional template validations
    • Language expression evaluation
    • Dependency checks
    • Template function checks
  • Support for all root-level Azure schemas
  • Completion for $schema now shows only root-level schemas
  • Query user to update to latest schema #368
    • Can be completely disabled via azureResourceManagerTools.checkForLatestSchema setting
  • Recognize deployment scope from the schema
    • .../deploymentTemplate.json# - resource group deployment
    • .../subscriptionDeploymentTemplate.json# - subscription deployment
    • .../managementGroupDeploymentTemplate.json# - management group deployment
    • .../tenantDeploymentTemplate.json# - tenant deployment
  • Completion provider for ARM resource type names and apiVersions

Fixed

  • Fixed message "Exactly 1 match required, but found more than 1" which appears in some scenarios.
vscode-azurearmtools - v0.8.0

Published by StephenWeatherford almost 5 years ago

Version 0.8.0 (2019-10-28)

Added

  • Greatly improved schema errors and completion
    • Our new language server now has a better understanding of Azure Resource Manager templates and can therefore provide a better error and completion experience beyond that provided using standard JSON validation
    • It now narrows down its schema validation based on the resource type and apiVersion properties of each resource.
    • No longer suggests changing the resource type if the apiVersion is not supported, or if a property is missing or invalid
    • Errors provide better guidance for what actually needs to be fixed in each resource to match the schema
    • Greatly improved completion speed
    • Greatly reduced memory usage
    • Note: The Azure schemas (which are read and interpreted by this extension) are undergoing continual improvement
  • Full support for user-defined template functions #122. See Azure documentation.
    • Find References (namespaces, user functions, user function parameters)
    • Go to Definition
    • Expression completion
    • Parameter count validation
    • Rename user function parameters
    • Hover information
    • Signature help
  • Added basic snippet support. This makes Sam Cogen's Azure Resource Manager Snippets extension no longer necessary when using this extension. If you have snippet suggestions, you can add them to our repo.
  • Hover information for JSON properties (outside of expressions)
  • Fewer false positives
    • We now allow string values to be automatically coerced to non-string types as appropriate (e.g., "false" can be used in place of false), as the ARM backend allows
    • We now allow non-string values to be automatically coerced to string as appropriate (e.g. false can be used in place of "false")
  • Add Find References for built-in template functions (e.g. click on "add" in an expression then right-click -> Find All References)

Fixed

  • Language server using lots of memory #324
  • Colorization of parameters and variables should be case-insensitive #298
  • Improved description for uniqueString #309
  • Updated dotnet core install scripts to latest versions from https://dot.net/v1/dotnet-install.sh and https://dot.net/v1/dotnet-install.ps1
  • Lookup of object variable property names is now correctly case-insensitive
  • JSON keys such as "Parameters" are now correctly case-insensitive
  • Azure Resource Manager Template Server crashed on MacOS #332 - ~/.local/share folder will now be created if necessary

Changed

  • Added "(ARM)" to extension name (to "Azure Resource Manager (ARM) Tools" from "Azure Resource Manager Tools") for better discoverability

Engineering Improvements

  • Enabled strict null checking
  • Lots of other code improvements
vscode-azurearmtools - v0.7.0

Published by StephenWeatherford about 5 years ago

Added

  • 0.7.0 contains the first release of a new language service that we are creating specifically for Azure Resource Manager deployment template files. Up to this point, the extension has been built on top of the built-in VS Code JSON language server. This has caused some problems, including:
    1. Deployment templates allow comments, unlike standard JSON files
    2. Deployment templates allow multi-line strings
    3. Deployment templates use case-insensitive properties
    4. Deployment templates have looser type rules, allowing substitutions such as "true" and "false" instead of true and false
    5. The large schema files published for Azure resources cause poor validation performance
    6. The errors provided by standard JSON validation frequently provide poor suggestions for fixing (due to lack of knowledge of Azure Resource Manager-specific properties such as resource name and apiVersion)

The new language server aims to provide a better experience for deployment template creation and editing by alleviating many of the problems above.
This version addresses points 1-3 above (see #fixed section). We intend to alleviate more of these problems in upcoming versions.
In addition, we are considering other improvements to the experience, such as:

  1. Snippets
  2. User-defined functions support
  3. Copy loops support
    If you would like to suggest additional features, or for other comments or problems, please enter a new issue at our public repo.

Fixed

  • Comments are now supported (// and /* */ styles)
  • Multi-line strings are now supported
  • Schema validation no longer reports false positives because of incorrectly-cased properties
    Examples:
  "parameters": {
    "dnsLabelPrefix": {
      "type": "String", << No longer flagged as incorrect
    "resources": [
        {
            "type": "microsoft.network/networkInterfaces", << No longer flagged as incorrect
  • Expressions in property names are not colorized #225
  • Intellisense completion for parameter object properties defined inside a defaultValue #124
  • Parameters color not correct if whitespace separates param name from parentheses #239
  • Does not correctly handle colorization when a string starts with a bracket but does not end with a bracket #250

Changed

  • Changed grammar scopes from '.json.arm' to '.json.arm-template' and '.tle.arm' to '.tle.arm-template'
vscode-azurearmtools - v0.6.0

Published by StephenWeatherford over 5 years ago

Added

  • Expressions inside strings are now colorized
  • Support subscription deployment templates #188

Fixed

  • Random notifications with "documentColumnIndex cannot be greater than the line's maximum index" #193
  • Missing functions added:
    • newGuid, dateTime (may only be used as a defaultValue on a parameter) (thanks @sanjaiganesh!) #183
    • listConnectionStrings #192
    • listCredentials #187
    • format #190
  • Support escaped apostrophe in strings #199
  • Extension 'msazurermtools.azurerm-vscode-tools' uses a document selector without scheme #94
  • Update dev readme #220
vscode-azurearmtools - v0.5.1

Published by nturinski over 5 years ago

Fixed

vscode-azurearmtools - v0.5.0

Published by StephenWeatherford over 5 years ago

Changed

  • Changed view title from "JSON OUTLINE" to "ARM TEMPLATE OUTLINE" #145
  • Add "Report Issue" button directly to error messages

Fixed

  • Improved start-up and installation performance
  • Rename variable/parameter definition doesn't work if you don't rename double quotes #63
  • Added listAccountSas #125
  • Added listAdminKeys (on SearchService) and listServiceSas (on Storage) #128
  • Updated text on listKeys to reflect 2016 and later apiVersion changes #128
  • Allow for 1..n args on and and or #159
  • Better handle asynchronous errors #169
vscode-azurearmtools - v0.4.2

Published by StephenWeatherford over 6 years ago

vscode-azurearmtools - v0.4.1

Published by StephenWeatherford over 6 years ago

vscode-azurearmtools - v0.4.0

Published by whiskeyjay over 6 years ago

Version 0.4.0 (02/01/2018)

  • Add JSON outline for ARM depolyment templates
vscode-azurearmtools - v0.3.8

Published by whiskeyjay almost 7 years ago

Version 0.3.8 (11/30/2017)

  • Add support for guid TLE
  • Bug fixes