Vim调用Ant编译swf并自动调试

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:Vim调用Ant编译swf并自动调试
  • 本文链接:http://zengrong.net/post/1307.htm

或许很少有人像我这么极端吧,放着好好的盗版XP和盗版Flash Builder不用,偏要去鼓捣什么Vim……

当然,在Vim下面,你可以自己写脚本调用Flex SDK的命令行编译器mxmlc进行编译,但我更愿意用Ant,原因如下:

  • 配置方便
    基于XML的配置文件,比命令行好读好写;
  • JAVA原生
    Ant是JAVA写的,Flex SDK的编译器(mxmlc、compc、asdoc……)也是JAVA写的;
  • 通用
    换用Linux或Mac,也一样用,顶多改改变量中的路径。

在Flash Builder下面,按F11后,就可以自动编译swf并打开Flash Player,并显示trace信息,以及调试断点。在Vim中也能这样么?

大部分可以。我们可以用fdb进行swf的调试工作,能看到trace信息,也能设置断点和进行调试,可惜没有Flash Builder那么直观。

但是!!!你可以用Vim写AS代码了!塞翁失马你有没有!!!!

那么,开始吧!

(注意,本文假定你了解Vim)

安装Ant

  1. Ant下载页面下载最新版的Ant。我将它解压到D:\ant;
  2. Ant需要安装JRE,但是如果你安装JDK的话,支持的task更多,所以现在下载JDK并安装,我将其安装到D:\Java\jdk1.6.0_25;
  3. 设置环境变量JAVA_HOME到D:\Java\jdk1.6.0_25,设置环境变量ANT_HOME到D:\ant;
  4. 将D:\Java\jdk1.6.0_25\bin和D:\ant\bin加入环境变量PATH。

Vim的设置

只需一步,将下面这句代码加入你的vimrc即可:

set makeprg=ant "设置编译器为ant

Ant的设置

将下面两个文件复制到你的项目文件夹(即src文件夹的上层文件夹)这两个文件的最新版本在这里:https://gist.github.com/944712

# 设置FLEX SDK的路径
FLEX_HOME=c:/Program Files/Adobe/FlashBuilder4Plug-in/sdks/4.1.0

# 设置源文件路径
# {$basedir} 就是本文件所在的目录
SRC_DIR =${basedir}/src

# libs目录,一般用来放swc文件
LIBS_DIR =${basedir}/libs

# 这个就是Flash Builder建立的bin-debug
DEPLOY_DIR = ${basedir}/bin-debug

#自定义的类库源码
LIBS_DUDU = e:/works/duduw_as3lib/src
<!-- 载入配置文件 -->

<!-- 确定flexTasks.jar的位置 -->

<!-- 清理部署目录中的内容 -->

<!-- 将资源目录复制到部署目录 -->

<!-- 编译 -->

<!-- 需要libs的时候解开注释
<compiler.library-path dir="${basedir}" append="true">
    <include name="libs" />
</compiler.library-path>
-->
<!-- 必须加上这行,如果不加,当使用[Embed]的标签的时候,就会出现VerifyError: Error #1014: 无法找到类 。 原因应该是没有将mx.core包编译进入。官方文档说这个属性默认是true, 不要相信它-->
true
<!-- 编译成可调试的版本 -->
true            

<!-- 打开调试器进行调试 -->

<!-- 不能直接调用fdb,因为这样不会打开新的命令行窗口,必须使用/K或者/C参数,加上start来启动fdb -->

编译

这个就简单了,只需要在Vim下执行下面的语句:

:make

或者

:!ant

当然,也可以带参数。例如你的项目中有一个以上的主文件,你可以制作build_a.xml、build_b.xml等等,然后执行:

:make -f build_a.xml

看图片吧!

vim-ant-swf1
vim-ant-swf2

延伸阅读:设置Vim的errorformat以支持mxmlc编译器