Android开发工具之Dash
作为一名死coder,每天最常见的动作就是查看各种API文档,你一定也有过同时打开N个窗口(HTML、PDF、CHM),不停的在编辑器与文档之间切换的感受吧?怎么说呢,其实我很讨厌这种枯燥无味的动作
,那么如何才能提高效率,减少无用功呢?下面就给大家介绍一款非常好用的Mac小工具:Dash,相比这个英文名,我跟喜欢叫它“叮当猫”,嘿嘿。
功能简介
官方用一句话就概括了它的用途:Dash是一个API文档浏览器( API Documentation Browser),以及代码片段管理工具(Code Snippet Manager)。你没看错,它就只有这两个功能,但确实是程序员(至少对于我来说)最为关心的特性,自己之前也用过了不少类似的工具,可以毫不夸张地说,Dash是它们之中做的最好的一个!
强悍的API文档浏览、搜索功能
想必这个功能是大家最常用的了吧,每天要反复查看、搜索那么多的API细节,没有一个好工具,单靠自己的双手如何应付得来?窗口不停的切来切去,很烦啊!Dash采用集成单一窗口的方式,很好的解决了这个问题。看下面的截图:

上图便是Dash的API浏览器主界面:左侧边栏是各种编程语言以及框架(取决于你下载安装了多少文档集合)的导航大纲,点击某个节点,右边的内容区域就是文档的详细信息啦,非常直观。也可以在左上方的搜索框内通过输入关键字,查找相关的API文档,非常类似全文检索的实现方式,Dash的响应速度非常快!关键是可以同时查询不同的语言、框架内容,实在是太方便了。看到这里你也许要问了,这跟我们平常切换到特定的文档窗口(比如一个PDF或者一个CHM文件),再ctrl + f查找有什么区别,不是多此一举吗?其实你错了,Dash可以通过快捷键来显示、隐藏文档窗口,它提供了配置界面以便用户自行设置(我比较习惯alt+space,因为其他软件很少用到这个组合键):

Dash自带了丰富的API文档,涉及各种主流的编程语言和框架,全列出来很吓人的:
而且它的文档库采用了docset格式,高级用户基于网站提供的教程,很容易就能自行添加其他的扩充文档,其实Dash在最初发布的时候,只支持很少的几个文档浏览,好像只有Java、HTML、CSS这些,是后来通过用户不断贡献,以及作者及时的反馈(Rails API就是我通过Email与作者联系,请求添加的,作者非常nice),逐步壮大,才具备了如此广泛的语言、框架支持。要添加API文档,打开软件配置界面,切换到Docset选项卡即可看到所有内置的文档列表,按需要自行下载即可(如果是自己制作的docset,双击即可导入Dash):

牛逼、好用的代码片段管理功能
前面说完了Dash的文档查询功能,下面再来看一看它带给我们的另一个惊喜:代码片段管理。说到这里,之前的版本其实有个很不好的地方,就是如果不仔细琢磨一下,或者去看官方的帮助文档的话,用户是很难一眼就知道怎么用这个功能,新手引导做得确实不怎么样,不过最新版已经改善了这个问题,在主界面的导航边栏明确地给出了分类提示,创建或者修改代码片段都方便了许多。来看下面这个例子:

利用Dash的代码片段管理功能,我们可以把日常使用频繁(也就是你经常需要复制粘贴)的代码保存起来,然后为其设置一个独一无二的缩写,这样一来原本需要一遍又一遍的敲击键盘重复录入的繁琐工作,就可以交给Dash来帮你搞定啦。比如上面截图中的例子,就是ExtJS中发起Ajax请求的代码片段,哪怕是copy & paste,时间长了也会很烦的,我给它设置了一个缩写(ajax),以后在需要编写这段代码的时候,就只需要敲击这几个字母,它就会魔法般的出现在光标所在位置啦!很神奇吧?嘿嘿,其实这种扩展缩写的功能,还有很多软件都能做到,比如TextExpander(这个我也买了,半价14刀的时候,但是现在已经打入冷宫了,比较后悔),不过就用户体验和各种细节,诸如界面UI,特别是扩展占位符的处理上,目前还没有哪一个能比得过Dash的(Dash is the best!)。来看看使用代码片段的截图吧:

Dash的缩写扩展功能很强大,比方说上面那个例子,在保存代码片段的时候,你可以使用双下划线标明占位符,在执行扩展的时候就可以通过tab键来在各个占位符之间切换,根据需要输入实际的值,最后回车即可把片段粘贴到光标所在之处。除了占位符,它还支持下面这些变量符号:
- @clipboard 自动插入当前剪贴板中的内容
- @cursor 代码片段粘贴完毕之后,自动将光标定位到此处
- @date 自动插入当前日期
- @time 自动插入当前时间
介绍到这里,各位看官,你应该已经深深滴爱上Dash了吧?每个苦逼的程序员,都应该有这么一只可爱贴心的叮当猫,您说是不是?其实个人不是很喜欢它的图标,实在是有点太诡异了,嘿嘿……
最后再说一句,Dash在Mac App Store里面免费提供下载,不过作者包含了一个IAP(应用程序内购买)插件,作者挺幽默的,看介绍是说的Dash的双胞胎伙伴Pinky比较调皮,会时不时的跳出来打扰你一下,囧……反正我运行了一晚上,还没见到这只传说中的猫呢。其实这只不过是给你提供了赞助作者的机会,毕竟这么好的软件,如果经济条件允许,支持一下也无可厚非,同是软件开发者,其中的辛酸你我都懂的。
Android开发工具之Dash的更多相关文章
- 最新版Android开发工具
最新版Android开发工具 JUN 27TH, 2014 Android Tools ADT Bundle ADT Bundle包含了Eclipse.ADT插件和SDK Tools,是已经集成好的I ...
- Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)
如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...
- Android开发工具全面转向Android Studio(2)——AS project/module的CRUD
本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...
- Android群英传》读书笔记 (1) 第一章 Android体系与系统架构 + 第二章 Android开发工具新接触
第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. ...
- 关于无法下载android开发工具的解决方法
目前中国内地访问android网站需要FQ.不过这个网站http://www.androiddevtools.cn/提供了所有的和官网上一样的android开发工具和一些其他问题的解决方法.为andr ...
- Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具
Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具 记得我的第一篇博客就是写Android Studio,但是现在看来还是有些粗糙了,所有重构了一下思路, ...
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
- Android开发工具Android Studio、Android SDK和Genymotion完全配置
所谓“工欲善其事,必先利其器”.Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提 ...
- Android 开发工具介绍-SDK工具和平台工具
原文链接:http://android.eoe.cn/topic/android_sdk Android的SDK提供各种工具可以帮你为Android平台开发移动应用程序.这些工具被分类成两组:SDK工 ...
随机推荐
- C++ 使用SQLite
1.SQLite是一个完全独立的.不需要服务器.不要任何配置.支持SQL的.开源的文件数据库引擎.源代码和支持可以登录:http://www.sqlite.org/ 1.1.下载sqlite3.d ...
- 对于Tomcat服务器环境变量和启动配置的一点补充
我们之前第一次使用Tomcat服务器运行jsp应用时,曾经给Tomcat配置过一个环境变量CATALINA_HOME,这个变量指定了Tomcat的安装位置,对于多个开发项目,我们一般会释放多个tomc ...
- DELPHI控件:DBLookupComboBOX组件的使用方法
在许多数据表中,数据是以代码方式存放的,如在班级编码数据表tB03(表5.5)中,系部字段TB0309采用编码方式存放,系部真实名称则存放在系部编码表TB06.使用代码的好处是,用户可在编码表TB06 ...
- rsync错误日志
问题一: @ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(152 ...
- JS打造的跟随鼠标移动的酷炫拓扑图案
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jQuery学习笔记---兄弟元素、子元素和父元素的获取
我们这里主要总结jQuery中对某元素的兄弟元素.子元素和父元素的获取,原声的Javascript代码对这些元素的获取比较麻烦一些,而jQuery正好对这些方法进行封装,让我们更加方便的对这些元素进行 ...
- Java内存泄露的理解与解决
依赖于引用判断的内存管理机制 Java中对内存对象的访问,使用的是引用的方式.在Java代码中我们维护一个内存对象的引用变量,通过这个引用变量的值,我们可以访问到对应的内存地址中的内存对象空间.在Ja ...
- 重温WCF之构建一个简单的WCF(一)(1)通过控制台和IIS寄宿服务
一.理解什么是WCFWCF就是.NET平台下各种分布式技术的集成,并提供了一套统一的编程接口 二.WCF的定义WCF(Windows Communication Foundation)是微软为构建面向 ...
- Delphi中线程类TThread实现多线程编程2---事件、临界区、Synchronize、WaitFor……
接着上文介绍TThread. 现在开始说明 Synchronize和WaitFor 但是在介绍这两个函数之前,需要先介绍另外两个线程同步技术:事件和临界区 事件(Event) 事件(Event)与De ...
- Delphi面向对象---接口
从Delphi3开始支持接口.接口定义了能够与一个对象进行交互操作的一组过程和函数.对一个接口进行定义包含两个方面的内容: 1)一方面是实现这个接口 2)另一方面是定义接口的客户 一个类能够实现多个接 ...