作为一名死coder,每天最常见的动作就是查看各种API文档,你一定也有过同时打开N个窗口(HTML、PDF、CHM),不停的在编辑器与文档之间切换的感受吧?怎么说呢,其实我很讨厌这种枯燥无味的动作,那么如何才能提高效率,减少无用功呢?下面就给大家介绍一款非常好用的Mac小工具:Dash,相比这个英文名,我跟喜欢叫它“叮当猫”,嘿嘿。

点我直达AppStore介绍页面

功能简介

官方用一句话就概括了它的用途: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文档,涉及各种主流的编程语言和框架,全列出来很吓人的:

ActionScript, Android, C++, Cappuccino, Cocos2D, Cocos3D, Corona, CSS, Django, Groovy, HTML, Java, JavaFX, JavaScript, jQuery, Kobold2D, Lua, MySQL, Node.js, Man Pages, Perl, PHP, Python, Ruby, Ruby on Rails, Scala, Sparrow, SQLite, Unity 3D, WordPress, XSLT, XUL

而且它的文档库采用了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比较调皮,会时不时的跳出来打扰你一下,囧……反正我运行了一晚上,还没见到这只传说中的猫呢。其实这只不过是给你提供了赞助作者的机会,毕竟这么好的软件,如果经济条件允许,支持一下也无可厚非,同是软件开发者,其中的辛酸你我都懂的。

Dash:程序员的的好帮手相关推荐

  1. Dash:程序员的好帮手(转载)

    作为一名死coder,每天最常见的动作就是查看各种API文档,你一定也有过同时打开N个窗口(HTML.PDF.CHM),不停的在编辑器与文档之间切换的感受吧?怎么说呢,其实我很讨厌这种枯燥无味的动作, ...

  2. 卧槽!看不懂这些动图,你不配做个程序员

    文 | 明哥 首发 | 明哥的江湖(ID:code_gg_home) 「1」 外包产品交付,给客户演示时 「2」 与领导斗智斗勇,躲猫猫 「3」 领导总是能识破程序员的小伎俩 「4」 程序员真实工作精 ...

  3. 程序员那些年的斗智斗勇!!!

    程序员那些年的斗智斗勇!!! 首发 | 明哥的江湖(ID:code_gg_home) 「1」外包产品交付,给客户演示时 「2」与领导斗智斗勇,躲猫猫 「3」领导总是能识破程序员的小伎俩 「4」程序员真 ...

  4. GitHub超4.4k星:程序员求职,一个算法模板就够了

    来源:新智元 本文约1800字,建议阅读5分钟 本文为你介绍程序员求职中科学的.高效的刷题方式. [ 导读 ] 近日,GitHub上一个名为"算法模板"的项目引发热议,获得了超4. ...

  5. 程序员非常重要的24个软技能(开始我的博客之旅)

    软技能通常是被低估的.几乎所有的软件工程师都知道要关注技术的提高,但你忽视的软技能很可能会影响你的职业生涯.下面我将介绍24个对程序员非常重要的软技能,以及我对这些技能的看法和感受. 1:学会如何学习 ...

  6. 程序员如何优雅地使用 Mac? - OS X - 知乎

    1. 最好不要拿 Macbook 装 windows,即使必须要用 windows 的话能不装 xp 么?即使必须使用 xp 的话能麻烦升级一下 IE 么?(以下均指使用 OS X) 2. 不要装 3 ...

  7. 2020 年 10 月程序员工资统计,终于涨了!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:blog.csdn.net/juwikuang/a ...

  8. 10年程序员总结的20几条经验教训

    开发 1.从小事做起,然后再扩展 无论是创建一个新的系统,还是添加功能到现有的系统中,我总是从一个简单到几乎没有任何所需功能的版本启动,然后再一步一步地解决问题,直到满意为止.我从来没有妄想过能够一步 ...

  9. 程序员必知必会之blog篇

    程序员必知必会之blog篇 网易广州       赖勇浩(http://blog.csdn.net/lanphaday) 本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanp ...

最新文章

  1. AlexeyAB DarkNet YOLOv3框架解析与应用实践(一)
  2. MyEclipse快捷键
  3. 量子计算机人类意识云,意识上传-人类距离永生还要多久(大脑的工作原理很有可能与量子计算机一致)...
  4. VLC-DSS搭建直播系统中链路断开影响测试
  5. linux将bridge当做hub来用
  6. MariaDB架构图与执行流程概述
  7. 浅析 React Fiber
  8. Android Studio工程项目打包成SDK(jar或aar格式)
  9. js------match() 方法
  10. C,LINUX,数据结构部分
  11. 3G技术演进策略(cdma2000,UMTS)
  12. web h5调用微信分享功能
  13. Beaglebone Black–GPIO 开关 LED(三极管与继电器实验)
  14. 微软更新后,桌面出现“无法打开这个应用 请去windows应用商店”的问题最简单解决方式
  15. GDAL 地图切片层级计算公式
  16. java面向对象基础练习1(坐标点移动)
  17. 川土微电子 | 隔离电源的辐射抑制设计参考(三)
  18. win10搜索服务器文件慢,Win10系统怎么加快文件搜索速度
  19. java放3个按钮_java编写三个按钮
  20. 服务器看门狗芯片电路图,新型纯硬件看门狗电路设计分析研究

热门文章

  1. 今年五一北京到三亚的机票1万多??用Python扒一扒三亚都有啥子好玩嘛!!
  2. lazarus中的try except
  3. 计算机视觉常见的十种图像标注方法
  4. dto java_java对象之dto
  5. 2021_AAAI_Who You Would Like to Share With? A Study of Share Recommendation in Social E-commerce
  6. 与、或、非、异或...区别
  7. 关于Elastic、关于Elasticsearch教程
  8. 人工智能肺炎图像识别模型-企业模型_科研机构应用
  9. wtg系统_WTG的完整形式是什么?
  10. 人工神经网络原理及应用,深度神经网络应用实例