Skip to content

Serverless IDE: Enhanced support for AWS SAM and CloudFormation in VS Code

Notifications You must be signed in to change notification settings

threadheap/serverless-ide-vscode

Repository files navigation

Marketplace Version Rating Installs

Serverless IDE: Enhanced support of AWS SAM, CloudFormation and Serverless Framework in Visual Studio Code

Provides comprehensive AWS SAM (Serverless Application Model), Cloudformation and Serverless Framework support to Visual Studio Code.

serverless-ide.com

Features

Smart autocompletion

Boost your prodictivity with smart autocompletion for your yaml templates and AWS CloudFormation resources. Just start typing and then pick from available options:

ServerlessIDE autocompletion demo

Go-to definitions and references

Navigate in the code with resources links

Validation

Serverless IDE can validation templates and references to resources, properties and outputs: ServerlessIDE validation demo

AWS documentation at glance

Get easy access to AWS documentation right from the template. Just hover over resources and properties:

ServerlessIDE AWS Documentation

Serverless Framework Support

Extension provides limited serverless framework support: ServerlessIDE Serverless Framework Support

Note: ServerlessIDE does not support validation of resources and external imports and parameters for Serverless Framework

Settings

The following settings are supported:

  • serverlessIDE.validate: Enable/disable validation feature
  • serverlessIDE.hover: Enable/disable hover documentation
  • serverlessIDE.completion: Enable/disable autocompletion
  • serverlessIDE.validationProvider : Validation provider. Can be default (uses json schema) or cfn-lint
  • serverlessIDE.telemetry.enableTelemetry : Enable/disable telemetry and crash reporting

cfn-lint is used as default validator More information about installation and configuration can be found here

  • serverlessIDE.cfnLint.path : Path to cfn-lint command (default to cfn-lint)
  • serverlessIDE.cfnLint.appendRules : Additional cfn-lint rules
  • serverlessIDE.cfnLint.ignoreRules : Array of rules to ignore

Language settings:

  • [yaml]: VSCode-YAML adds default configuration for all yaml files. More specifically it converts tabs to spaces to ensure valid yaml, sets the tab size, and allows live typing autocompletion. These settings can be modified via the corresponding settings inside the [yaml] section in the settings:
    • editor.insertSpaces
    • editor.tabSize
    • editor.quickSuggestions

Telemetry

ServerlessIDE collects usage data and metrics to help us improve the extension for VS Code.

What data is collected?

ServerlessIDE collects anonymous information related to the usage of the extensions, such as which commands were run, as well as performance and error data.

How do I disable telemetry reporting?

On Windows or Linux, select File > Preferences > Settings. On macOS, select Code > Preferences > Settings. Then, to silence all telemetry events from the VS Code shell and disable telemetry reporting, add the following option.

"serverlessIDE.telemetry.enableTelemetry": false

IMPORTANT: This option requires a restart of VS Code to take effect.

NOTE: We also respect the global telemetry setting telemetry.enableTelemetry; if that is set to false, ServerlessIDE telemetry is disabled. For more information see Microsoft’s documentation.

Questions and feedback

Feature requests and feedback are very appreciated

Feel free to raise a feature request in the project repository.

Check out public roadmap board, propose and vote for new features.

DM or follow me on twitter or medium or contact by email

Contributions

You can find the code on GitHub repository

Setup

The project is split between packages backed by lerna. You can explore source code in packages folder.

Prerequisites

NodeJS >= 8.x VSCode

npm install lerna -g
npm install
lerna bootstrap

Test run

To test your changes in VSCode

Use Launch Extension command to build and start extension Use Attach Server command to attach debugger

Author

Pavel Vlasov

License

Apache License 2.0

All documentation provided has copyright by Amazon Web Services, Inc. or its affiliates, and was published under the terms that can be found at https://aws.amazon.com/terms/