Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify licensing for public repo, update version/readme/changelog for 0.7.0 #283

Merged
merged 4 commits into from
Sep 11, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,44 @@
# Change Log
All notable changes to the "vscode-azurearmtools" extension will be documented in this file.

## Version 0.7.0 (2019-09-16)
### 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
1. Deployment templates allow multi-line strings
1. Deployment templates use case-insensitive properties
1. Deployment templates have looser type rules, allowing substitutions such as "true" and "false" instead of true and false
1. The large schema files published for Azure resources cause poor validation performance
1. 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](#fixed-070) 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](https://github.com/microsoft/vscode-azurearmtools/issues).

### Fixed<a id="fixed-070"></a>
- 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:
```json
"parameters": {
"dnsLabelPrefix": {
"type": "String", << No longer flagged as incorrect
```
```json
"resources": [
{
"type": "microsoft.network/networkInterfaces", << No longer flagged as incorrect
```
- Expressions in property names are not colorized [#225](https://github.com/microsoft/vscode-azurearmtools/issues/225)
- Intellisense completion for parameter object properties defined inside a defaultValue [#124](https://github.com/microsoft/vscode-azurearmtools/issues/124)
- Parameters color not correct if whitespace separates param name from parentheses [#239](https://github.com/microsoft/vscode-azurearmtools/issues/239)
- Does not correctly handle colorization when a string starts with a bracket but does not end with a bracket [#250](https://github.com/microsoft/vscode-azurearmtools/issues/250)

## Version 0.6.0 (2019-04-25)
### Added
- Expressions inside strings are now colorized
Expand Down
Binary file removed EULA.pdf
Binary file not shown.
32 changes: 14 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,25 @@
This extension provides language support for Azure Resource Manager deployment templates and template language expressions.

## Features
- Provides a language server that understands Azure Resource Manager deployment template files
- ARM Template Outline view for easy navigation through large templates
- Colorization for Template Language Expressions (TLE)
- IntelliSense for TLE expressions
- Analyze and validate JSON syntax, JSON schema conformance for Azure resources, string expressions and deployment issues
- IntelliSense for string expressions
- [Built-in function names](https://go.microsoft.com/fwlink/?LinkID=733958)
- [Parameter references](https://go.microsoft.com/fwlink/?LinkID=733959)
- [Variable references](https://go.microsoft.com/fwlink/?LinkID=733960)
- [resourceGroup() properties](https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-functions/#resourcegroup)
- [subscription() properties](https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-functions/#subscription)
- Properties of references to variables that are objects
- [Signature help](https://code.visualstudio.com/docs/editor/editingevolved#_parameter-hints) for TLE function parameters
- [Go To Definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition) for variable and parameter references
- [Peek](https://code.visualstudio.com/docs/editor/editingevolved#_peek) for variable and parameter definitions
- Find all references (Shift + F12) for variables and parameters
- Rename all references (F2) for variables and parameters
- [Hover](https://code.visualstudio.com/docs/editor/editingevolved#_hover) for parameter description
- [TLE brace matching](https://code.visualstudio.com/docs/editor/editingevolved#_bracket-matching)
- [Errors](https://code.visualstudio.com/docs/editor/editingevolved#_errors-warnings) for:
- Undefined parameter references
- Undefined variable references
- Unrecognized TLE function names
- [reference() function usage in variable definition](https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-functions/#reference)
- Incorrect number of arguments in TLE functions
- [Warnings](https://code.visualstudio.com/docs/editor/editingevolved#_errors-warnings) for:
- Unused parameters
- Unused variables
- [Signature help](https://code.visualstudio.com/docs/editor/editingevolved#_parameter-hints) for TLE function parameters
- [Go To Definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition) for variable and parameter references
- [Peek](https://code.visualstudio.com/docs/editor/editingevolved#_peek) for variable and parameter definitions
- Find all references (Shift + F12) for variables and parameters
- Rename all references (F2) for variables and parameters
- [Hover](https://code.visualstudio.com/docs/editor/editingevolved#_hover) for parameter description
- [TLE brace matching](https://code.visualstudio.com/docs/editor/editingevolved#_bracket-matching)
- Rename parameters and variables

## Automatic Detection of deployment template files

Expand Down Expand Up @@ -71,4 +65,6 @@ VS Code collects usage data and sends it to Microsoft to help improve our produc

## License

[MIT](LICENSE.md)
The source code in our [public repository](https://github.com/Microsoft/vscode-azurearmtools) is licensed under the [MIT license](LICENSE.md). The public source code currently contains functionality related to the parsing and validation of template expression strings, but does not contain functionality related to JSON parsing and validation or backend template validation.

The extension as it is built in Azure DevOps and [published](https://marketplace.visualstudio.com/items?itemName=msazurermtools.azurerm-vscode-tools) to the VS Code Marketplace is a distribution of the public repository and is bundled with the Azure Resource Manager language service binaries. The published extension and language service binaries are licensed under a traditional Microsoft product license.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "azurerm-vscode-tools",
"displayName": "Azure Resource Manager Tools",
"description": "Template language support for Azure Resource Manager JSON files.",
"version": "0.6.1-alphalangserv",
"version": "0.7.0",
"publisher": "msazurermtools",
"categories": [
"Azure",
Expand Down