Skip to content

twilio-labs/vscode-twilio

Repository files navigation

Twilio Serverless VSCode Extension

frame-002

Contents

Description

Develop, test and deploy Twilio Functions right from Visual Studio Code!

️️⚠️ Status ⚠️

This project is currently on beta and some features (such as listing the existing functions) are not currently supported, but are in the roadmap. All feedback is greatly appreciated.

Requirements

For this extension to work properly, you need to have the Twilio CLI and Twilio Serverless plugin installed in your computer. Additionally, having the code command installed in your PATH allows the extension to open VSCode after a new project is created.

Installing the Twilio CLI

Run npm install twilio-cli -g in your terminal (If you run into permission issues while doing this, running the command using sudo might help).

Installing the Twilio Serverless Plugin

Run twilio plugins:install @twilio-labs/plugin-serverless in your terminal.

Installing the code command in your PATH (optional)

  1. Run the Command Palette in your VSCode app (Ctrl+Shift+P in Windows and Linux, Cmd+Shift+P in macOS).
  2. Search for "Shell Command: Install code command in PATH" and execute.

Getting Started

  1. Install the extension from the Visual Studio Code Marketplace (or through your VSCode app).
  2. Access the VSCode command palette (Ctrl+Shift+P in Windows/Linux or Cmd+Shift+P in macOS).
  3. Enter "Twilio Serverless" to get a list of the available commands.
  4. Select a command to execute.

Features

These are the features currently supported by this extension:

Initialize a new project

Twilio Serverless: Create project

Initializes a new Twilio Serverless project by creating the necessary files and folders, and installing the dependencies to start developing.

Create a new function

Twilio Serverless: New Function

Creates a new Twilio Function using one of the starter templates or from scratch.

Start a local server for development

Twilio Serverless: Start Local Server

Starts a local instance that serves the existing functions for local development and testing.

Create new environments

Twilio Serverless: Create Environment

Creates a new environment to deploy functions to.

Activate a function

Twilio Serverless: Activate

Moves an active deployment from one environment to another.

Deploy a function

Twilio Serverless: Deploy

Deploy functions from your local to the specified environment.

List functions

Twilio Serverless: List Functions

List existing functions for your account.

List services

Twilio Serverless: List Services

List existing services for your account.

List environments

Twilio Serverless: List Environments

List existing environments for your account.

List assets

Twilio Serverless: List Assets

List existing assets for your account.

List variables

Twilio Serverless: List Variables

List existing variables for your account.

Contributing

This project adheres to the Twilio Labs Code of Conduct. Please read before contributing.

First time contributors

A good way to get started with contributions is to look at the current open issues and find any that are tagged with the good first issue tag. If you find any that look interesting, feel free to ping us and we'll provide context and guidance to work on it.

General contributions

Before starting your work on any issue, please ping us on that same issue and let us know so we can coordinate properly in case someone else is already working on it.

How to develop locally and contribute changes

  1. Fork this repository.
  2. Open project directory in VSCode.
  3. Hit F5 to compile and launch the extension in debug mode. This will open a new VSCode window in which you can open the Command Palette and try out the commands.
  4. Make your changes in a new branch.
  5. Commit and push your changes.
  6. Open a Pull Request with a description of the changes. Feel free to include anything that could make our review easier (screenshots, demo gifs, etc.)

License

MIT

Questions or Comments?

Feel free to open an issue and we'll get back to you as soon as possible :)

Releases

No releases published

Packages

No packages published