核心是配置mxmlc命令可用、正确编译AS文件并输出可调试SWF,需设置MXMLC_HOME和PATH、修正jvm.config中java.home、启用flex-config.xml的static-link、使用带空格处理的runFlash.bat脚本,并确保编码与插件匹配。

Sublime Text 2 配置 ActionScript 3 开发环境,核心是让 mxmlc 命令能被调用、AS 文件能被正确编译、输出可调试的 SWF,并解决编码与运行时共享库(RSL)冲突问题——不是装了插件就完事,关键路径和配置项错一个就卡在“找不到类”或“无法加载 RSL”上。
确认 mxmlc 命令行可用是前提
所有后续构建都依赖这个命令。它不在系统 PATH 里,Tools → Build System 就会直接报 'mxmlc' is not recognized。
- 必须设置
MXMLC_HOME环境变量,值为 Flex SDK 根目录(例如E:lex_sdk_4.6) - 把
%MXMLC_HOME%in加进系统Path,不是只加MXMLC_HOME - 新开 cmd 窗口,执行
mxmlc -version,看到类似Version 4.6.0 build 23201才算成功 - 如果提示“找不到 Java”,说明 Flex SDK 依赖的 JRE 未安装或 JAVA_HOME 指向错误;Flex 4.6 要求 JDK 6 或 7,JDK 8+ 会报
UnsupportedClassVersionError
runFlash.bat 脚本里不能漏掉空格和参数顺序
Sublime 的 Build System 本质是调用外部脚本,runFlash.bat 是衔接 mxmlc 和当前文件的关键胶水——但 Windows 批处理对空格极其敏感,mxmlc.exe%~nx1 这种写法会拼成 mxmlc.exeMyApp.as,导致命令找不到。
- 脚本中必须在
mxmlc.exe后加空格,再接参数:mxmlc.exe "%~1" -output "%~dpn1.swf" -debug -
"%~1"保证带空格路径也能正常传入(如C:My ProjectMain.as) -
-debug要放在参数末尾或明确启用,否则 trace() 不输出;若需日志,加-verbose-stacktraces - 避免使用
-static-link-runtime-shared-libraries=false(默认值),否则编译会警告“无法加载 RSL”,且 Flash Player 可能拒绝加载
AS3 构建系统里的编码和路径必须匹配 SDK 实际位置
Build System JSON 里 cmd 数组第一项是批处理路径,第二项是 ${file},但若 runFlash.bat 放在非标准路径,或 Sublime 工作目录不等于文件所在目录,就会编译失败或输出到错位目录。
-
cmd中的路径必须是绝对路径,且用双反斜杠或正斜杠(C:\path\to\runFlash.bat或C:/path/to/runFlash.bat) -
encoding设为"GBK"仅适用于中文 Windows 默认编码;若 AS 文件本身是 UTF-8 无 BOM,应改用"UTF-8",否则中文注释或字符串会乱码 - 确保
flex-config.xml中<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>已启用,否则编译器可能跳过链接 required RSL(如framework.swc),导致运行时报ReferenceError: Error #1065
AS3 插件和语法高亮容易被忽略的兼容细节
Sublime Text 2 的 ActionScript 3 插件只提供基础高亮和 snippets,不提供自动补全或跳转;它也不识别 flash.display.Sprite 这类全路径类名,只认短名 Sprite——这和 Flash Builder 行为不一致,但已是当时最简可行方案。
- 插件包名必须叫
ActionScript 3(含空格),否则Tools → Build System列表里不会出现对应项 - 若打开 .as 文件后右下角显示 “Plain Text”,手动点击切换为
ActionScript 3;否则缩进、括号匹配、注释符号(//和/* */)全部失效 -
ConvertToUTF8插件必须安装,否则从 Flash CS 导出的含中文字符串的 AS 文件会显示为方块,且mxmlc编译时报Invalid character - 不要尝试用 SublimeCodeIntel 补全 AS3——它没有 AS3 语言支持,强行配置会导致 CPU 占用飙升且无响应
Flex SDK 版本、JDK 版本、Windows 区域设置、Sublime 插件路径大小写,四个点任意一个错位,都会让编译停在“黑窗口一闪而过”或“空白 SWF”。调试时优先看 cmd 输出的第一行错误,而不是直接改 .sublime-build 文件。

















