当前位置:首页 > 下载列表 > Debugger for SWF

Debugger for SWF 1.10.0

SWFDebuggerforVisualStudioCode:ActionScript、MXML、Haxe调试利器SWFDebuggerforVisualStudioCode是一款强大的调试工具,专为AdobeAIR和AdobeFlashPlayer运行时环境设计,支持使用ActionScript、MXML或Haxe编写的源文件。该扩展由JoshTynjala创建和维护
分类:   下载/工具 · 工具软件 来源:  点击进入 版本:  1.10.0
日期:  2025-06-05 人气:   大小:  
标签:   Air flash debuggers __sponsor_extension Flex swf
点击下载 相关下载
功能介绍

SWF Debugger for Visual Studio Code

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创建和维护,通过成为赞助者,您可以直接支持该项目的持续开发。

系统要求:

  • Visual Studio Code 1.82
  • Java JDK 11或更新版本
  • Adobe AIR或Adobe Flash Player

Adobe AIR调试:

要调试Adobe AIR应用程序,请从HARMAN网站下载适用于Windows或macOS的Adobe AIR SDK。对于Adobe AIR 32.0或更旧版本,请从Adobe网站下载。

  • 从HARMAN下载Adobe AIR SDK
  • 从Adobe网站下载旧版Adobe AIR SDK

Adobe Flash Player调试:

要调试.swf文件,请从Adobe网站下载适用于Windows、macOS或Linux的Flash Player投影内容调试器。确保将Flash Player设置为操作系统中.swf文件扩展名的默认程序。

  • Adobe Flash Player 32.0内容调试器(Windows)
  • Adobe Flash Player 32.0内容调试器(macOS)
  • Adobe Flash Player 32.0内容调试器(Linux)

开始使用:

根据构建.swf文件的语言/框架,配置SWF调试扩展的步骤可能会有所不同。

  • ActionScript和MXML项目
  • OpenFL项目
  • Haxe项目

ActionScript和MXML:

该扩展与ActionScript & MXML语言扩展紧密集成。工作区的launch.json文件中的许多属性可以省略,因为它们将根据项目中的asconfig.json文件自动填充。

使用以下SDK或工具构建的ActionScript & MXML项目可以使用SWF调试扩展进行调试:

  • Adobe AIR SDK & Compiler
  • Adobe Animate
  • Apache Flex SDK
  • Adobe Flex SDK
  • Apache Royale
  • Feathers SDK

创建一个新的启动配置,所有当前工作区的启动配置都存储在其.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文件中查找正确的路径。特别是,此信息可在<app>元素上找到:

<app main="com.example.MyProject" file="MyProject" path="bin"/>

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.xmlMyProject.swf不在同一个文件夹中。然而,在application.xml中,它引用的是MyProject.swf文件,而不是bin/MyProject.swf

<content>MyProject.swf</content>

使用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

特别感谢以下赞助商的慷慨支持:

  • Moonshine IDE
  • Jackbox Games
版本声明
本文转载于:https://marketplace.visualstudio.com/items?itemName=bowlerhatllc.vscode-swf-debug 如有侵犯,请联系study_golang@163.com删除
查看更多
课程推荐
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
    204次学习
  • MySQL数据管理之备份恢复案例解析视频教程
    MySQL数据管理之备份恢复案例解析视频教程
    《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
    160次学习
  • MySQL索引优化解决方案
    MySQL索引优化解决方案
    本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
    182次学习
  • 极客学院Docker视频教程
    极客学院Docker视频教程
    Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
    243次学习
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
    127次学习
  • JavaScript极速入门
    JavaScript极速入门
    本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
    431次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码