企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
##### 当前位置: [BOLT界面引擎](#) > [知识库文章](#) > Bolt界面引擎QuickStart: SDK,教程和开发环境 ### Bolt界面引擎QuickStart: SDK,教程和开发环境 ##### 作者:Tsukasa **Bolt QuickStart******          一.安装Bolt SDK          这里我们会先介绍如何安装Bolt界面引擎的SDK,然后按照业界悠久的传统,本文将通过跑起一个Hello,Bolt 的例子,来验证安装是否成功。并希望在这个过程里让您能在最短的时间内对Bolt界面引擎有个初步的认识。   准备工作: 0.       了解xml,了解lua 1.       顺手的文本编辑器 2.       确定能解压.zip包 3.       保持网络畅通    从bolt.xunlei.com首页下载我们的最新版SDK,解压。  解压后的目录结构如下: ![](https://box.kancloud.cn/2016-08-17_57b3f478c66a0.jpg) bin目录中包含Bolt的发布版二进制文件;dev目录包含开发版的Bolt(dev目录),相较于发布版(pr),使用时会增加各种出错提示,包括lua脚本错误,xml格式错误等等,用于开发时的除错;include目录中包含Bolt的头文件,lib包含Bolt各模块的链接文件;samples目录包含若干Bolt的示例工程;tools目录中包含Bolt提供的各种开发工具。   **在使用Bolt SDK开始开发之前,先执行setup.js配置环境变量和VS编译器。**          因为Simples中的实例大部分是从WTL框架创建,要正常使用它们需要先安装并配置WTL8.0(下载地址[http://sourceforge.net/projects/wtl/files/](http://sourceforge.net/projects/wtl/files/))   第二步: 开始Hello,Bolt教程。Bolt SDK目录下 samples/HelloBolt目录中的HelloBolt1至7示范从头开始用Bolt搭建一个界面的所有要点。您可以试着把第一篇文章里最简单的HelloBolt跑起来,验证SDK已经正确安装。 [开始HelloBolt教程。](#)  二. **搭建Bolt的开发环境****** **一、             ****使用Notepad++****实现基本的代码编写环境**   由于使用引擎开发应用最主要的工作就是编写各种.xml和.lua文件,而Notepad++提供对这两种文件良好的手工编写支持,均有语法高亮和自动的格式调整,所以推荐大家使用Notepad++作为界面引擎主要的编码工具。 下面我的Notepad++开发环境的搭建步骤: 1.       先去Notepad++的官方网站下载最新版本的Notepad++。 2.       安装完成后运行,这个时候我会立刻下一些比较好用的插件,点击菜单 插件->Plugin Manager->Show Plugin Manager 3.       Notepad++真的有很多插件,这里我先安装NppExec(支持在Notepad++里调用其它.exe)和Explorer(能在Notepad++里直接操作资源管理器) 4.       下载安装完成后重启Notepad++ 5.       在工具栏上点![](https://box.kancloud.cn/2016-08-17_57b3f478df4e9.png) ,就能打开Explorer插件了。下面是效果 ![](https://box.kancloud.cn/2016-08-17_57b3f478f3569.png) 是不是很有IDE的感觉了,注意框起来的这几个按钮,都是一些非常好用的功能 6.       下面接着配置NppExec,能让我们在Notepad++里使用外部工具编译或运行lua,检查xml.这里以编译引擎的xml为例子,介绍一下。引擎提供了一个叫xluecl.exe的工具(包含在SDK\tools目录中),可以做很多事情,其中之一就是检查一个引擎的xml是否有可检查的问题,并检查这个xml的后端lua文件的语法正确性。相关工具都在tools目录下,有3个exe. 7.       先把tools目录复制到本地,比如说放到D:\Dev\Tools\,然后我们通过命令行 D:\Dev\Tools\xluecl.exe -xml Progress.xml 这样的调用就可以检查一个xml的编写了。 8.       在Notepad++的菜单 插件->Nppexec->Execute… (注意你在第3步一定要装好了这个插件) 然后输入: ![](https://box.kancloud.cn/2016-08-17_57b3f47923ef6.png) $(FULL_CURRENT_PATH) 是Notepad++的一个宏,代表当前编辑的文件的完整路径。点save… 按钮,给这个命令行取一个名字叫 xluecl xml. 然后按OK就可以试运行了,我故意写错一个xml,下面是运行结果: ![](https://box.kancloud.cn/2016-08-17_57b3f4793c34c.png) 非常方便的就找到错误所在了。 9.       下次要用这个命令行还是要不停的点这么多菜单,未免有点烦。这个时候可以通过Notepad++的命令宏功能把刚刚的命令行放到菜单里,并绑定快捷键。点击菜单 插件->Nppexec->Advanced Option… ![](https://box.kancloud.cn/2016-08-17_57b3f4795919f.png)   在Associated script里选择刚刚保存的命令行,然后点Add/Modify按钮。然后勾上Place to the Macros submenu.点OK关闭窗口。按提示重启Notepad++.现在可以在菜单里看到: ![](https://box.kancloud.cn/2016-08-17_57b3f47981909.png) 你可以快速的使用该操作去编译.xml了。 10.   绑定快捷键只需要点菜单 设置->管理快捷键      ![](https://box.kancloud.cn/2016-08-17_57b3f479a1cdb.png) 这里就不详细说明了,相信聪明的你已经知道该怎么办了。 11.   搞定了一个操作之后,后面就如法炮制了。这是我的外部调用列表:     <table style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 104.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="140"><div>luac</div></td><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 321.45pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="429"><div>D:\Dev\Tools\luac.exe "$(FULL_CURRENT_PATH)"</div></td></tr><tr><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 104.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="140"><div>Run lua</div></td><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 321.45pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="429"><div>D:\Dev\Tools\lua.exe "$(FULL_CURRENT_PATH)"</div></td></tr><tr><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 104.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="140"><div>xluecl xar</div></td><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 321.45pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="429"><div>D:\Dev\Tools\xluecl.exe -xar "$(CURRENT_DIRECTORY)"</div></td></tr><tr><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 104.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="140"><div>xluecl xml</div></td><td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 321.45pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" valign="top" width="429"><div>D:\Dev\Tools\xluecl.exe -xml "$(FULL_CURRENT_PATH)"</div></td></tr></tbody></table>     **二、             ****使用Decoda ****调试Lua****代码 (由于安全原因我们对Lua环VM做了一些调整,现在的Decoda调试暂被关闭,过几个版本会打开 )** 这个工具比较简单,一切顺利的话会得到和vs相近的调试体验。 Copy Decoda目录到本地,运行Decoda.exe.点菜单 Debug->Start Debuging,然后在弹出的对话框的Command里选择你要调试的应用程序的路径(这里我以迅雷7为例子)。点OK后就以调试lua脚本的方式启动了迅雷。这个时候,调试器里会显示已经加载的lua文件的列表: ![](https://box.kancloud.cn/2016-08-17_57b3f479cfd74.png) 打开一个文件,然后按F9下断点…这个就不介绍了。 Decoda这个软件本身对lua的编辑支持的也不错,有自动完成功能。迅雷7项目组有不少哥们就很喜欢用这个工具来编辑.lua而不是notepad++.   用Decoda调试有一些需要注意的地方: 1) 文件列表里只会显示已经加载的文件,由于引擎使用了大量的按需加载机制,所以很多时候你会发现左侧没有你想下断点的文件。想办法让你的脚本执行一次,左侧就有了。 2) 调试非日志版,由于lua文件被编译了,所以看不到代码。 3) 注意调试时发现了bug,请不要在Decoda里修改保存,因为Decoda并不知道文件的绝对路径。 4) 这个调试器的大部分快捷键和功能都和vs很像,相信大家一定能很快上手的。 迅雷公司 版权所有 Copyright 2003-2010 Thunder Inc.All Rights Reserved. 意见反馈:[xl7doc@xunlei.com](#)