ExtendScript Debugger for Visual Studio Code Public Release

Kerri Shotts
Feb 22, 2019 · 3 min read

Only a few short weeks ago we released the very first prerelease for the ExtendScript Debugger for Visual Studio Code. We’re excited to announce that the plugin for Visual Studio Code is now live in the Visual Studio Code Marketplace!

You can install it from Visual Studio Code by navigating to the Extensions sidebar (Shift + Cmd + X on macOS or Shift + Ctrl + X on Windows) and then searching for “ExtendScript Debugger.” If you have Visual Studio Code 1.31.1, you won’t have to even reload VS Code in order to use the plugin!

Important notes before you start

  1. The Windows version of this plugin should be considered a “beta,” and is provided as-is. Adobe disclaims all warranties, express or implied, including the implied warranties of non-infringement, merchantability, and fitness for a particular purpose.
  2. If you participated in the prerelease program, you should uninstall the prerelease plugin before installing the public plugin from the marketplace.

What’s in this release?

We weren’t able to implement every single feature of the ExtendScript Toolkit (ESTK), but as we mentioned in our first announcement about the ExtendScript Debugger, we targeted mission-critical debugging functionality for this release. We wanted to ensure that it is still possible for you to debug your scripts, even as modern operating systems drop support for 32-bit applications.

In this release, you can:

  • Launch ExtendScript-enabled Adobe applications
  • View the call stack
  • Set up breakpoints (hit counts, expressions, debugger statements)
  • Inspect variables (local and global scope, modify variables)
  • Access debugging commands (continue, step into, step over, step out, stop restart)
  • View and interact with the debug console (expression evaluation)
  • Evaluate expressions on hover
  • Export ExtendScript to JSXBIN
  • Start debugging sessions automatically

A few things didn’t make it into this release:

  • Profiling support
  • Object Model Viewer (OMV)
  • Autocomplete
  • Scripts panel

Using this release

Visual Studio Code needs a “debug” configuration in your project’s launch.json file. This can be set up by creating a new configuration as seen below.

Note: You must already have VSCode open to the project folder containing the script you wish to debug. If you want to debug a script that’s not part of a project, you’ll need to open the parent folder (otherwise VSCode won’t let you create a launch.json configuration).

Creating a new launch.json debug configuration

Once you have a valid configuration, you can begin a debugging session and use most of the typical debugging functionality you would expect.

An example debugging session

If you prefer, you can also have VSCode automatically begin debugging when a debugger statement is encountered in your scripts.

VSCode starting a debug session automatically

For those who need to export JSXBIN files, this plugin also provides that functionality.

Exporting your ExtendScript as JSXBIN

Support and reporting issues

You can reach out to us and each other on the Extensions / Add-ons Developer Forum. We’ll also be releasing the plugin as open source in the near future, and so you’ll be able to file issues using GitHub in the future.

Stay up to date

You’ll definitely want to stay up to date with our progress as we open source the plugin and release bug fixes. Be sure to follow this blog so that you can track what’s going on.

You can also sign up for the Developer Newsletter to get monthly updates on the latest news from Creative Cloud for developers and scripters.

Adobe Tech Blog

News, updates, and thoughts related to Adobe, developers…

Adobe Tech Blog

News, updates, and thoughts related to Adobe, developers, and technology.

Kerri Shotts

Written by

JavaScript fangirl, Technical writer, Mobile app developer, Musician, Photographer, Transwoman (she/her), Atheist, Humanist. All opinions are my own. Hi there!

Adobe Tech Blog

News, updates, and thoughts related to Adobe, developers, and technology.