Vielen Dank für deinen Besuch. Diese Seite ist nur in Englisch verfügbar.

Get Started with the ASK Toolkit for Visual Studio Code

The ASK toolkit is an extension for Visual Studio Code (VS Code) that makes it easier for you to develop and deploy Alexa skills. It provides features like code snippet generation, JSON schema validation, and discoverability of features via the Command Palette in VS Code.

The ASK toolkit uses the ASK Command Line Interface (CLI). Commands initiated from within the toolkit call the appropriate ASK CLI commands. In VS Code, the integrated terminal shows the CLI command being called, the output from executing the command, and prompts for user input.

Send us your feedback

To provide feedback and suggestions from within the toolkit, on the VS Code status bar, click Contact Alexa.

Setup

Prerequisites

  1. To use the Alexa templates, download Git and install it.

  2. Download VS Code (recommend version 1.22.0 or higher) and install it.

  3. Download and configure ASK CLI (recommend version 1.5.0 or higher). For more information, watch the video and read the documentation for getting started with ASK CLI.

  4. (Optional and recommended) Use AWS Lambda to host the backend business logic for your skill. Watch the video and read the documentation for creating your AWS credentials.

Install the ASK toolkit in VS Code

Use one of the following options to install the ASK toolkit.

  • Install the toolkit by visiting the VS Code marketplace.

  • In VS Code, from the View menu, select Extensions to open the Extensions view. In the search box, type Alexa Skills Kit (ASK) toolkit.

After you install the toolkit, click Reload. In some cases, you might also need to restart VS Code.

For more information about VS Code extensions, see the VS Code documentation.

Quick start

Step 1: Create a new skill or clone an existing skill

Get started by creating a new skill or cloning an existing skill.

  1. To open the Command Palette, from the View menu, select Command Palette. Alternatively, on Windows and Linux, use Ctrl+Shift+P, and on a Mac use Shift+Command+P.
  2. To see the available commands in the ASK toolkit, in the text box, type ASK.
  3. To create a new skill from a template, select ASK: Create a skill from a template, and then choose your preferred runtime language followed by a template from the list.

    – Or –

    To clone an existing skill, select ASK: Clone a skill. The VS Code integrated terminal shows a list of skills that you can clone.

Depending on the skill you created or cloned, the ASK Toolkit creates the following folder structure.

Step 2: Add a code snippet

The toolkit provides code snippet generation for frequently used skill components.

In your model file, for example model/en-US.json, type askModel to show all built-in intents. Select an intent and then press the TAB key to generate the code snippet. To create a blank custom intent, type askModel and then select askModelCustomIntent.

To insert a snippet for an intent handler based on the ASK SDK for Node.js or ASK SDK for Python, type askSDK in the JavaScript (.js) or Python (.py) file that contains your business logic code.

Step 3: Deploy the skill

You can choose to deploy your entire skill package or parts of your skill. At the Command Palette, see the options by typing ASK: Deploy.

To deploy a specific resource, in the explorer tree view, right-click on the resource. For example, if you right-click the skill.json file, there is an option to Deploy the skill manifest. If you right-click on the lambda folder, there is an option to Deploy to AWS Lambda.

Alternatively, you can use the Deploy button on the status bar to deploy a specific resource or entire skill, depending on the settings for the extension. For more information about settings, see configure the toolkit.

Step 4: Test the skill

After you deploy your skill, you can start testing it on your Alexa-enabled device. You can also use the Alexa Simulator, which is in the developer console on the Test page. To open the developer console, from the Command Palette select ASK: Open the Alexa developer console in the browser.

Next steps

Explore more commands

The toolkit provides access to commands available in the ASK CLI. You can explore commands by opening the Command Palette and typing ASK: More, and then select from the list of commands in the secondary menu.

See the command mapping for ASK toolkit and ASK CLI to understand how the toolkit commands map to the underlying ASK CLI commands.

Enable or disable the toolkit

To disable or enable the toolkit, or to turn on automatic updates, see the VS Code documentation about managing extensions.

Configure the toolkit (optional)

You can configure the toolkit by updating settings in VS Code.

To open settings, on Windows or Linux, from the File menu, select Preferences, and then select Settings. On a Mac, from the Code menu, select Preferences, and then select Settings. For more information, see the VS Code documentation for user and workspace settings.

You can configure the following:

  • To specify the ASK CLI profile that the ASK toolkit uses by default, for "ask.profile", specify the name of the profile that you want to use. For example, in the JSON, type "ask.profile": "profile_name" where profile_name is the name of your profile.
  • To change the default settings for deployment, for "ask.defaultDeployResource", specify "all", "skill", "model", "lambda" or "isp". For example, in the JSON, type "ask.defaultDeployResource": "all".
  • To use the content in the active window as the reference for commands that require file input, for "ask.doesUseCurrentActivewindowContent" specify true. For example, in the JSON, type "ask.doesUseCurrentActivewindowContent": true.
  • To set the default stage for commands where stage is required, for "ask.granularCommandDefaultStage" specify "development" or "live". For example, in the JSON, type "ask.granularCommandDefaultStage": "development".
  • To read the skill ID from the .ask/config file for commands that require the skill ID, for "ask.shouldUseSkillIdFoundInCurrentWorkspace" specify true. For example, in the JSON, type "ask.shouldUseSkillIdFoundInCurrentWorkspace": true.

Command mapping for ASK toolkit and ASK CLI

Command in toolkit Underlying CLI command
ASK: Clone a skill

ask clone

ASK: Create a skill from a template

ask new --templates

ASK: Deploy the skill

ask deploy

ASK: Deploy the in-skill product (ISP)

ask deploy --target isp

ASK: Deploy the interaction model(s)

ask deploy --target model

ASK: Deploy to AWS Lambda

ask deploy --target lambda

ASK: Deploy the skill manifest

ask deploy --target skill

ASK: Initialize / Configure the ASK CLI

ask init

ASK: More commands (low-level commands) Shows another list with all the additional commands in the command palette. For more information, see the table describing the low-level commands.
ASK: Open the Alexa developer console in the browser Opens the Alexa developer console page in a web browser.
ASK: Open the help documentation in the browser Opens the ASK CLI documentation in a web browser.
ASK: Simulate the skill

ask simulate

ASK: Delete a skill

ask api delete-skill

ASK: Get AWS Lambda logs from AWS CloudWatch

ask lambda log – Runs only when you have configured AWS credentials for the CLI and use AWS Lambda as your endpoint.

ASK: List the differences between local and remote version of skill resources

ask diff

Command in toolkit (Secondary menu under ASK: More commands (low-level commands)) Underlying CLI command
Skill - Enable a skill

ask api enable-skill

Model - Get an interaction model for skill

ask api get-model

Model - Get the ETag associated with an interaction model

ask api head-model

Model - Create/update the new interaction model for skill

ask api update-model

Skill - Create a skill base on the skill manifest

ask api create-skill

Skill - Get the skill manifest

ask api get-skill

Skill - Update the skill manifest

ask api update-skill

Skill - List skills based on Vendor ID and chosen profile

ask api list-skills

Skill - Get the skill status

ask api get-skill-status

Skill - Get account linking configuration for a skill

ask api get-account-linking

Skill - Delete account linking configuration for a skill

ask api delete-account-linking

Skill - List the vendorId associated with your developer account

ask api list-vendors

Skill - Submit a skill for certification

ask api submit

Skill - Withdraw a skill from the certification process

ask api withdraw

Simulate - Simulate a skill

ask api simulate-skill

Simulate - Get the simulate result

ask api get-simulation

Simulate - Invoke a skill

ask api invoke-skill

Skill - Validate a skill

ask api validate-skill

Skill - Get the skill validation result

ask api get-validation

Skill - Grant/Add access to a private skill for the account

ask api add-private-distribution-account

Skill - Revoke/Delete access to a private skill from the account

ask api delete-private-distribution-account

Skill - List all accounts that the skill have been privately distributed

ask api list-private-distribution-accounts

Skill - Disable a skill

ask api disable-skill

Skill - Get skill enablement information

ask api get-skill-enablement

ISP - Create an in-skill product

ask api create-isp

ISP - Update an in-skill product

ask api update-isp

ISP - Associate an in-skill product with a skill

ask api associate-isp

ISP - Disassociate an in-skill product from a skill

ask api disassociate-isp

ISP - Get the definition or summary for an in-skill product

ask api get-isp

ISP - List the in-skill product for a vendor

ask api list-isp-for-vendor

ISP - List the in-skill product that are associated with a skill

ask api list-isp-for-skill

ISP - List the skills that are associated with an in-skill product

ask api list-skills-for-isp

ISP - Reset an in-skill product

ask api reset-isp-entitlement

ISP - Delete an in-skill product

ask api delete-isp

Skill - Get "utterance transcripts"/ "intent requests history" for a skill

ask api intent-requests-history

Skill - Delete a skill

ask api delete-skill

AWS Lambda - Get AWS Lambda logs from AWS CloudWatch

ask lambda log