-
-
Notifications
You must be signed in to change notification settings - Fork 45
Debug a SWF in the standalone Adobe Flash Player with Visual Studio Code
Before debugging a SWF file, you will need to download a special version of the Adobe Flash Player that supports debugging. Visit the Adobe Flash Player Debug Downloads page to download the Flash Player projector content debugger for your operating system.
-
Create a new ActionScript project targeting Adobe Flash Player.
-
In Visual Studio Code, open the View menu and select Debug. Alternatively, click the debug icon on the sidebar, or use the Ctrl+Shift+D keyboard shortcut (or Command+Shift+D on macOS).
-
Click the gear ⚙︎ icon to configure the launch configurations for your workspace.
-
When prompted to Select Environment, choose SWF.
If .vscode/launch.json already exists in your workspace, you will not be asked to specify the environment. Instead, the existing file will open. You may click the Add Configuration button to add a new SWF debugging configuration to the existing file. Several default snippets are available, depending on which Adobe Flash runtime you are targeting.
-
A new editor will open with a launch.json file that looks something like this:
{ // Use IntelliSense to learn about possible SWF debug attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "swf", "request": "launch", "name": "Launch SWF" }, { "type": "swf", "request": "attach", "name": "Attach SWF" } ] }
We'll be using the Launch SWF debug configuration in a moment.
-
Run the build task with Ctrl+Shift+B (or Command+Shift+B on macOS).
-
Ensure that the Attach SWF configuration is selected is the Debug sidebar, and press the button with the play
▶️ icon to start debugging. Alternatively, use the F5 keyboard shortcut to start debugging.
Instead of building manually with Ctrl+Shift+B, you can configure launch.json to build your project automatically when you ask it to start debugging.
If you set the preLaunchTask field in launch.json to the name of one of the built-in tasks provided by the ActionScript & MXML extension, it will automatically run that task before debugging.
You can find the complete list of tasks that are available in your workspace when you go to the Terminal menu and choose Run Task....
For simple projects, the preLaunchTask field in launch.json should be set to ActionScript: compile debug - asconfig.json:
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"preLaunchTask": "ActionScript: compile debug - asconfig.json"
}If your workspace contains multiple root folders, you may need include the name of the root folder before asconfig.json in the task name:
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"preLaunchTask": "ActionScript: compile debug - MyProject/asconfig.json"
}Warning: If you're compiling debug builds using the Quick Compile & Debug command, DO NOT use
preLaunchTask. It will cause your project to build twice before starting the debugger, which won't be very "quick" at all! 😄
If possible, the standalone Adobe Flash Player will open automatically when you debug a SWF program. On Windows and macOS, the debugger will look for an application that is associated with the .swf file extension. On Linux, the debugger will attempt to find a flashplayer or flashplayerdebugger executable by searching the directories registered with the $PATH environment variable.
If the standalone Adobe Flash Player cannot be opened automatically — or if you prefer to test SWF content in a specific version of Adobe Flash Player — you may add the runtimeExecutable field in launch.json to customize which application is launched.
On Windows, set runtimeExecutable to the absolute path of the .exe file:
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"runtimeExecutable": "c:\\Downloads\\flashplayer_sa_debug.exe"
}On macOS, set runtimeExecutable to the absolute path of the .app file:
"runtimeExecutable": "/Applications/Flash Player.app"On Linux, set runtimeExecutable to the absolute path of the executable file:
"runtimeExecutable": "/home/Downloads/flashplayerdebugger"- Adobe AIR (Mobile)
- Adobe AIR (Desktop)
- Adobe Flash Player
- Apache Royale
- HTML and JS (no framework)
- Node.js
- Feathers SDK
- Adobe Animate
- Flex SDK
- Library (SWC)
- Royale Library (SWC)