过去以来我一直在收集Flash Builder 4的一些有用技巧,它们有效地帮助了我提高开发效率,如今我将与大家分享它们, 包括一些常用功能的快捷方式(这些快捷方式基于Mac OS,Windows用户可以用Ctrl代替下文中的CMD键)。 对于我遗漏的细节,欢迎大家在评论中补充!
要求
Flash Builder 4
预备知识
熟悉Flash Builder 4
快捷方式
许多开发者目前都没有意识到在Flash Builder 4 IDE的环境下,许多快捷方式是很有用的,或者不愿意花时间去记住它们。其实,了解和使用这些快捷方式可以大大提高开发效率,降低整体项目的开发时间。下文是我觉得特别有用的功能的快捷方式列表。 为方便大家在日常工作中快速查询和打印的需要,我将该列表整理成如下格式:
内容辅助:Ctrl-Spacebar(译者注:Windows下应该是"alt-/")——我敢肯定,大多数开发人员都知道该快捷键,但如果出于某种原因,你还没有使用它的习惯,那现在就必须要开始使用了。 使用它可以弹出一个提示框,显示当前对象的所有可用属性和函数。而你们当中的很多人也许不知道的是,此时可以再按Ctrl-Spacebar(alt-/)来切换显示该对象的相关属性、样式或事件。 有人管这叫"循环提示"。此时弹出的提示框的底部将提示当前显示列表的类型(全部、属性、事件、样式等)。正因为此,现在的我很依赖、而且认为自己不能没有它!
组织导入:Shift-Cmd-O ——该快捷键可用于清理未起作用的导入声明语句,并以包的格式组织它们。 此功能早在Flex Builder就存在,但仅限于ActionScript文件。如今在Flash Builder 4下对MXML也可以使用了。
快速大纲:Cmd-O——可以从当前位置迅速跳转到特定的变量或函数。 在弹出的提示框中输入前几个字母,你就能从提示中看到你要跳转的内容,然后单击跳转到那里。 这是一个你读过本文必须学会使用的技巧。
快速访问:Cmd-3 ——该快捷键将打开一个编辑框。 你可以在此框中输入你要找的内容名字的子字符串,甚至只需要输入首字母,它就会显示所有匹配结果。 例如,如果你想查询TestCase类的细节,你可以只输入tcc或TCC就能显示出来(译者注:FB中文版输入tc或TC,因最后一个"c"已被翻译为中文"类")。 该功能与代码提示很相似。但最酷的是,它可以保存你的操作记录,例如,如果你正在调试应用程序,最近使用过的调试命令将依次显示在该编辑框的操作记录上,以便你可以很快再次执行该命令。 对于我个人而言,我经常在使用Flash Builder下的Tour de Flex插件,此时只需要键入Cmd - 3和"tdf",就可以调出它了(前提是你已经安装了该插件,如果你没有,你一定得装上!你可以在这里*阅读该插件的相关信息)。 下面是显示正在使用该功能的截图,(见图1):
文字补全:Ctrl-.(译者注:Windows下应该是"Ctrl-alt-/")——键入一个单词前半部分,然后使用此快捷键(Ctrl-.),可以自动补全你要打的单词。如果它第一次补全的内容不是你想要打的单词,你可以重复按此键直到匹配为止。 该功能与手机打字很类似。
更正缩进:Cmd-I——选中需要更正缩进格式的代码块,再按Cmd-I即可,完全无需手动去做。
复制行:Option(Alt)-Cmd-向上方向键
将行上移/下移: Option(Alt)-向上或向下方向键
删除行(不使用剪贴板) : Cmd-D
删除上一个词语 :Cmd-Backspace
快速访问声明语句:举例而言,先反白一个函数的函数名,按住Cmd键不放(译者补充:按住不放大概1秒后再移上光标)它会变成蓝色的超链接样式,此时可以通过点击它快速访问该函数的声明语句。
Flash Builder中内置的版本控制功能:Flash Builder 4其实保存着你的文件更改操作历史,并允许你将当前文件与较老版本进行比较,还可以通过比较和替换功能恢复到一个较老版本。其比较功能使用内部差异记录你的当前版本和较老版本的差异。
设定打开编辑器的最多个数:Flash Builder 4现在多了一个设置,允许你设置打开编辑器的最多个数,而不是可以无限地打开。 当打开编辑器个数超过设定值,将会自动开始关闭先前打开的编辑器。 这个选项默认没有被勾选。 你需要点击"窗口>首选参数>常规>编辑器",勾选复选框(译者注:名为"自动关闭编辑器"),并设定你想要设定的值。
上一个/下一个状态:Cmd-\ 和 Shift-Cmd-\——当使用状态窗口时,此快捷键可将所有不在当前状态的代码反灰以便于你查看,并会根据你的选择跳转到上一个/下一个状态。
显示"调用层次结构":Ctrl-Option-H (译者注:Windows下应该是"Ctrl-alt-H")——可以显示某函数在何处被调用。 在你需要修改或者删除一个函数时,你可以利用该功能查找需要同时作出修改的相关代码。
切换编辑器:Ctrl-Tab(译者注:按前面的格式,这里还要补充Ctrl-shift-Tab)——使用它可以迅速切换不同文件的编辑窗口。 与此相关的快捷键有"打开类型"(Shift-Cmd-T)和"打开资源"(Shift-Cmd-R)的。 这些快捷键允许你快速打开Flex SDK中的或任何可以打开的类型的源代码文件。
查看或修改快捷键 ——点击"窗口>首选参数>常规>键"可以根据需要任意修改快捷键,还可以在此设置快捷键的作用条件。
生成事件处理函数,如果你键入一个事件的过程中,在弹出的代码提示里选择它按下回车键,将得到一个生成该事件的事件处理函数的选项。 例如,在一个按钮的内置属性中,如果你键入"click"的前几个字母,并在代码提示中选中"click"并按下回车键,会跳出一个 "生成click处理函数"选项。 如果单击它,Flash Builder 4将自动在你的Script区块中新增该函数(如果你还没有建立Script区块也会自动帮你建好)。
小技巧:先给你的MXML组件设置一个id,然后再生成事件处理函数,生成的函数就会自动命名为该id。例如,如果按钮的id是myBtn,单击"生成click处理函数"将新建MXML外观:此选项可用于快速创建自定义组件的内嵌的外观。 选中一个Spark组件,点击其"外观"属性旁边的下拉按钮,并按下回车键,再选择"创建外观"将打开一个新建MXML外观的对话框(参见图2):
请注意,你可以创建一个默认的Spark外观的副本,然后根据需要进行修改,这可以大大加快你的项目进程。 另外,请注意不要选中"删除ActionScript样式代码"复选框。 如果你确实不需要修改设置的样式,那就可以选中此框。
创建项呈示器 –该选项的使用方式类似于前例,不过是用来快速创建项呈示器的。 该选项适用于所有可以使用项呈示器(包括MXML中的)的组件。
代码注释的快捷键 ,如果要快速注释一段ActionScript代码块,使用CMD -/会很方便。 而对MXML代码则要使用Shift-Cmd-C。 你应当留意这些注释代码的快捷键,因为我发现我在需要快速进行调试的时候,或者觉得不应该删除一大段代码而最好注释之的时候,我总在不断的使用这一快捷键。
生成getter / setter ,可以自动生成getter / setter函数(见图3)。 这是一个我经常在Eclipse和开发中使用的选项,我觉得它非常有用。 此选项位于主菜单的"源代码"菜单上,或右键单击代码部分,再从右键菜单中的"源代码"下选取。 请注意,此时必须保持你的光标已选中变量声明的那一栏。
快速导入所需的类 ,这可能是最懒的一个技巧,但我觉得自己总在使用它。 如果我不知道某个特定的事件所处的包,而又不需要一个创建变量(这将自动为你导入该包)时,甚至我就算知道包名,但懒得手动添加它时,我会另开一行,并键入一个变量声明,使用代码提示选择我需要的类,就会自动导入该类,然后按Cmd - D删除该行并结束导入。
调试技巧
在调试环节中,了解和记住以下技巧是有用的。 其中有些内容是Flash Builder 4新添加的,绝对值得你了解一下。
条件断点 ——现在你可以为一个断点设置其执行条件了,以便使代码(循环语句)执行到特定次数时发生中断,或根据特定的表达式或布尔值(比如,它只会停止在该断点时给定的某值)而发生中断。
要设置条件断点,首先要在代码的某一行设定断点(Shift-Cmd-B),然后点击右键选择断点属性。你可以设置多个条件表达式并用逗号隔开,也可以无需重编译就直接修改该行的代码。观看该 Adobe TV视频* 有助于你了解更多有用的细节。
观察点 ——Flash Builder 4中的一个新功能,就是允许你使用观察点监测调试过程中的特定变量实例。 要使用观察点,你需要设置一个断点,当调试过程停在断点时,在"变量"一栏中找到相关变量实例,单击右键设置观察点。 你可以通过点击这里*了解到更多有关如何调试观察点的知识。
"表达式"视图 ——实际上,你可以直接拖动任何表达式到该栏中,从而监测该表达式。 注意,如果打开了 "编辑观察表达式"的编辑框,键入Shift - Enter可以关闭它,而不是换行。
"运行至行":Cmd – R——在调试过程停在断点的时候,你可以选中要跳转的代码行按下Cmd – R,或点击右键并在菜单中选择"运行至行",从而实现跳转到后面的特定一行并继续运行。
"网络监视器"视图——Flash Builder 4的另一个全新功能是:当你开发的Flex或AIR应用使用了HTTPService,WebService,RemoteObject, URLRequest等网络协议时,可以对网络传输细节进行检查和监测。你可以对你的Flex / AIR的应用间传输的SOAP、AMF、RO(Remote Object)进行监控,并可在SOAP, AMF, HTTP, 以及HTTPS协议下检查XML,AMF,以及JSON格式的数据。 注:运行此功能需要Flash Builder为Premium 版本,而且不能与SSL或LiveCycle Data Service提供的数据管理服务同时启用。
接下来学什么
我意识到自己在文中提到了大量的组合键,以至于大家一开始可能很难记住,幸好有一个组合键(Cmd-Shift-L)可以显示出所有当前可用的组合键列表,你可以在编写代码时随时按它来查询。
另外,要了解更多的关于Flash Builder的提示和技巧,你可以观看Flash Builder团队的成员之一Scott Evans的该Adobe TV视频* 。也可以阅读由 Jason San Jose在" Adobe Developer Connection"栏目中所著的Developer productivity improvements in Flash Builder 4*一文 。此外,他还在博客*上给大家分享了他的一些独到技巧 。