This extension depends on several other RokuCommunity projects.

Wiring all of these up manually is a bit tedious, so we provide a simple way to quickly get started:

The easy way

In a terminal, you can execute the following commands to get completely up and running.

mkdir RokuCommunity && cd RokuCommunity && git clone && cd vscode-brightscript-language && npm run install-local

This will do the following automatically for you:

The manual way

You only need to install local copies of projects you actually want to work on. You can leave the others as npm modules. This workflow will show the process of installing all projects.

  1. Clone the following projects to the parent folder as this project. (i.e. C:\projects\vscode-brightscript language, C:\projects\brighterscript, etc...)

  2. Inside each of the cloned repositories, run

    npm install && npm run build
  3. In vscode-brightscript-language/node_modules, delete any folders matching the above project names

  4. Open vscode-brightscript-language/package.json and edit the dependenciesto look like this:

      "dependencies": {
        "brighterscript": "file:../brighterscript",
        "brighterscript-formatter": "file:../brighterscript-formatter",
        "roku-debug": "file:../roku-debug",
        "roku-deploy": "file:../roku-debug",
  5. In the vscode-brightscript-language folder

    npm install && npm run build
  6. You're all set! Open the vscode-brightscript-language folder in vscode to start debugging.

View our developer guidelines for more information on how to contribute to this extension.

You can also chat with us on slack. (We're in the #vscode-bs-lang-ext channel).

Releases (Project Admins)

If you need to deploy a release of any of the RokuCommunity projects, you can do the following:

  1. clone the vscode-brightscript-language project
    git clone
    cd vscode-brightscript-language
  2. Run the releases npm script and follow the prompts
    npm run releases
  3. For every changed project, you'll see a prompt to edit the changelog. image
    • Change UNRELEASED to the semantic version you want to use, save the changelog, then back in the terminal press enter on your keyboard to initialize the release. image
    • Delete delete any lines from the changelog that aren't overly important to the user (as changelogs should be for humans), since this process populates the changelog with every commit to the master branch for the current project and all commits to changed RokuCommunity dependencies.