SWF Debugger for Visual Studio Code:ActionScript、MXML、Haxe调试利器
SWF Debugger for Visual Studio Code是一款强大的调试工具,专为Adobe AIR和Adobe Flash Player运行时环境设计,支持使用ActionScript、MXML或Haxe编写的源文件。该扩展由Josh Tynjala创建和维护,通过成为赞助者,您可以直接支持该项目的持续开发。
系统要求:
Adobe AIR调试:
要调试Adobe AIR应用程序,请从HARMAN网站下载适用于Windows或macOS的Adobe AIR SDK。对于Adobe AIR 32.0或更旧版本,请从Adobe网站下载。
Adobe Flash Player调试:
要调试.swf文件,请从Adobe网站下载适用于Windows、macOS或Linux的Flash Player投影内容调试器。确保将Flash Player设置为操作系统中.swf文件扩展名的默认程序。
开始使用:
根据构建.swf文件的语言/框架,配置SWF调试扩展的步骤可能会有所不同。
ActionScript和MXML:
该扩展与ActionScript & MXML语言扩展紧密集成。工作区的launch.json文件中的许多属性可以省略,因为它们将根据项目中的asconfig.json文件自动填充。
使用以下SDK或工具构建的ActionScript & MXML项目可以使用SWF调试扩展进行调试:
创建一个新的启动配置,所有当前工作区的启动配置都存储在其.vscode/launch.json文件中。
以下示例launch.json包含一个swf启动配置,具有启动ActionScript & MXML项目调试会话所需的最小属性集:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF"
}
]
}
使用项目中的asconfig.json文件的内容,SWF调试扩展会自动检测应使用哪个运行时(Adobe AIR或Flash Player)。此外,它还会检测已编译的.swf文件的位置,以及(如果存在)Adobe AIR应用程序描述符文件的位置。扩展还可以确定Adobe AIR项目是针对桌面还是移动设备。
启动调试会话:
要开始调试,请在Visual Studio Code中打开调试菜单,并选择开始调试(或使用F5键盘快捷键)。
在调试前构建(AS3 & MXML):
要在启动调试会话前构建ActionScript & MXML项目,请添加preLaunchTask属性。在大多数情况下,使用以下示例中指定的编译任务:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"preLaunchTask": "ActionScript: compile debug - asconfig.json"
}
]
}
OpenFL:
使用OpenFL针对Adobe AIR或Flash Player时,需要手动设置某些额外的SWF启动配置属性。
最重要的是,必须将program属性设置为Adobe AIR应用程序描述符或.swf文件的路径。
在配置OpenFL的project.xml文件中查找正确的路径。特别是,此信息可在
path属性是创建二进制文件的主要输出文件夹。file属性用于命名已编译的.swf文件。
为Adobe Flash Player构建上述项目会创建bin/flash/bin/MyProject.swf。使用program属性指定此路径,如下所示:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"program": "${workspaceFolder}/bin/flash/bin/MyProject.swf"
}
]
}
为Adobe AIR构建同一项目时,.swf文件会创建在bin/air/bin/MyProject.swf。OpenFL还会创建Adobe AIR应用程序描述符bin/air/application.xml。
请注意,application.xml和MyProject.swf不在同一个文件夹中。然而,在application.xml中,它引用的是MyProject.swf文件,而不是bin/MyProject.swf:
MyProject.swf
使用rootDirectory属性指定应用程序内容不在包含应用程序描述符的同一文件夹中。
根据应模拟的平台,将profile属性设置为desktop或mobileDevice。
最后,SWF调试器需要Adobe AIR SDK中adl可执行文件的位置。将绝对路径传递给runtimeExecutable属性。
以下示例launch.json文件结合了所有这些值,以配置OpenFL项目的Adobe AIR调试:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"profile": "desktop",
"program": "${workspaceRoot}/bin/air/application.xml",
"rootDirectory": "${workspaceRoot}/bin/air/bin",
"runtimeExecutable": "/absolute/path/to/AIR_SDK/bin/adl"
}
]
}
在macOS上,使用adl作为可执行文件名称。在Windows上,使用adl.exe。
启动调试会话:
要开始调试,请在Visual Studio Code中打开调试菜单,并选择开始调试(或使用F5键盘快捷键)。
在调试前构建(OpenFL):
要在启动调试会话前构建OpenFL项目,请添加preLaunchTask属性。
针对Adobe Flash Player时,运行lime: build flash -debug任务:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"program": "${workspaceFolder}/bin/flash/bin/MyProject.swf",
"preLaunchTask": "lime: build flash -debug"
}
]
}
针对Adobe AIR时,运行lime: build air -debug任务:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"profile": "desktop",
"program": "${workspaceRoot}/bin/air/application.xml",
"rootDirectory": "${workspaceRoot}/bin/air/bin",
"runtimeExecutable": "/absolute/path/to/AIR_SDK/bin/adl",
"preLaunchTask": "lime: build air -debug"
}
]
}
Haxe:
使用Haxe针对Adobe AIR或Flash Player时,必须使用某些编译选项来启用调试,并需要手动设置额外的SWF启动配置属性。
要使用SWF调试扩展编译可用的.swf文件,请在项目的.hxml文件中添加-debug和-D fdb,如下例所示:
-cp src
-main com.example.MyProject
-swf bin/MyProject.swf
-swf-version 30
-swf-header 960:640:60:ffffff
-debug
-D fdb
要在Adobe Flash Player中调试,请将launch.json中的program属性设置为-swf Haxe编译器选项指定的路径:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"program": "${workspaceFolder}/bin/MyProject.swf"
}
]
}
要在Adobe AIR中调试,请将launch.json中的program属性设置为Adobe AIR应用程序描述符的路径。
根据应模拟的平台,将profile属性设置为desktop或mobileDevice。
最后,SWF调试器需要Adobe AIR SDK中adl可执行文件的位置。将绝对路径传递给runtimeExecutable属性。
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"profile": "desktop",
"program": "${workspaceRoot}/bin/MyProject-app.xml",
"runtimeExecutable": "/absolute/path/to/AIR_SDK/bin/adl"
}
]
}
在macOS上,使用adl作为可执行文件名称。在Windows上,使用adl.exe。
其他示例:
对于Adobe AIR移动项目,可以使用许多额外的属性来自定义要模拟的设备类型。例如,以下启动配置模拟带有“Retina”显示的iPhone:
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"screensize": "iPhoneRetina",
"screenDPI": 326,
"versionPlatform": "IOS"
}
]
}
同样,以下启动配置可能用于模拟Android手机。
{
"version": "0.2.0",
"configurations": [
{
"type": "swf",
"request": "launch",
"name": "Launch SWF",
"screensize": "768x1280:768x1232",
"screenDPI": 318,
"versionPlatform": "AND"
}
]
}
有关常见移动设备的更大列表,请参阅Adobe AIR中模拟常见移动设备的launch.json配置设置。
启动配置属性:
以下属性列表可以在launch.json中针对类型为swf的配置进行自定义。它们按请求类型分为launch或attach。
启动请求:
如果request属性的值设置为launch,可以自定义以下属性:
args
传递给Adobe AIR应用程序的自定义命令行参数。可以在运行时使用flash.events.InvokeEvent的arguments属性访问它们。
exdir
应用程序的未打包原生扩展(ANEs)所在的目录。未打包的原生扩展用于调试。ActionScript & MXML扩展会自动解包原生扩展。对于Haxe项目,应手动解包。
ActionScript & MXML项目自动填充
profile
要模拟的Adobe AIR应用程序配置文件。可以设置为desktop、extendedDesktop、mobileDevice或extendedMobileDevice。
ActionScript & MXML项目自动填充
program
Adobe AIR应用程序描述符或.swf文件的路径。要启动嵌入HTML的.swf文件,请设置为.html文件的路径或http/https URL。
ActionScript & MXML项目自动填充
rootDirectory
指定Adobe AIR应用程序的根目录。如果未指定,则使用包含应用程序描述符文件的目录。
runtimeArgs
传递给运行时可执行文件的可选参数。
runtimeExecutable
Adobe AIR调试启动器、Flash Player投影内容调试器或Web浏览器的路径。
screenDPI
要模拟的移动设备的屏幕密度(有时称为DPI或PPI)。自定义flash.system.Capabilities.screenDPI返回的值。通常与screensize结合使用。
screensize
模拟移动设备的正常和全屏尺寸。通常与screenDPI结合使用。
versionPlatform
在AIR调试启动器中模拟的平台字符串。自定义flash.system.Capabilities.version返回的值。可以设置为IOS、AND、WIN或MAC。
附加请求:
如果request属性的值设置为attach,可以自定义以下属性:
applicationID
如果设置了platform属性,指定用于在通过USB连接的移动设备上卸载和启动的Adobe AIR应用程序ID。
ActionScript & MXML项目自动填充
bundle
如果设置了platform属性,指定要在通过USB连接的移动设备上安装的.apk或.ipa文件的路径。
ActionScript & MXML项目自动填充
connect
默认情况下,SWF调试器将通过wi-fi监听来自移动设备的连接。如果connect属性为true,调试器将尝试通过USB连接到运行时。
port
如果connect属性为true,SWF调试器将在指定的端口上连接到移动设备。
platform
调试器将连接到运行指定平台的移动设备。支持的值包括“android”、“ios”和“ios_simulator”。此字段可以与applicationID和bundle结合使用。
支持该项目:
Visual Studio Code的SWF调试器扩展由Josh Tynjala开发——感谢社区中开发者和小型企业的慷慨支持。像您这样的人!通过成为赞助者,您可以加入他们,支持该项目的持续开发。
在Patreon上支持Josh Tynjala
特别感谢以下赞助商的慷慨支持:
本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:study_golang@163.com