作者:极客教程
链接:https://www.jianshu.com/p/bc90b212c0a7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

  1. 功能简介
    官方用一句话就概括了它的用途:Dash是一个API文档浏览器( API Documentation Browser),以及代码片段管理工具(Code Snippet Manager)。你没看错,它就只有这两个功能,但确实是程序员(至少对于我来说)最为关心的特性,自己之前也用过了不少类似的工具,可以毫不夸张地说,Dash是它们之中做的最好的一个!

  2. 下载
    关于下载我还是推介官网下载吧(https://kapeli.com/dash)

  3. 强悍的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):

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


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


Dash的缩写扩展功能很强大,比方说上面那个例子,在保存代码片段的时候,你可以使用双下划线标明占位符,在执行扩展的时候就可以通过tab键来在各个占位符之间切换,根据需要输入实际的值,最后回车即可把片段粘贴到光标所在之处。除了占位符,它还支持下面这些变量符号:
@clipboard 自动插入当前剪贴板中的内容
@cursor 代码片段粘贴完毕之后,自动将光标定位到此处
@date 自动插入当前日期
@time 自动插入当前时间

最后再说一句,Dash在Mac App Store里面免费提供下载,不过作者包含了一个IAP(应用程序内购买)插件,作者挺幽默的,看介绍是说的Dash的双胞胎伙伴Pinky比较调皮,会时不时的跳出来打扰你一下,反正我运行了一晚上,还没见到这只传说中的猫呢。其实这只不过是给你提供了赞助作者的机会,毕竟这么好的软件,如果经济条件允许,支持一下也无可厚非,同是软件开发者,其中的辛酸你我都懂的。

作者:极客教程
链接:https://www.jianshu.com/p/bc90b212c0a7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

dash使用手册--一个代码碎片盒子和代码文档查询工具相关推荐

  1. Solidity实现拍卖竞价,代码解析,著名代码文档出处

    我们先来想一下拍卖竞价的场景: 我们需要有受益者来发起拍卖,然后才会有人来进行拍卖.进行拍卖,会对当前的最高价个进行记录,当拍卖时间结束,会进行交付价格接下来,我们实现这个拍卖: 第一,我们实现这个功 ...

  2. 不给代码写文档,让代码文档化

    这是程序员讨论了很久的一个话题:要不要给代码写文档?值得给代码写文档吗? 我曾经觉得这个话题实在是让人难以应付.也认为除去一些特殊的情况(比如编写公用 API),代码文档并不是那么必要.直到有一天,我 ...

  3. 一个让我欲罢不能的开源文档管理工具

      大家好,我是小编南风吹,每天推荐一个小工具/源码,装满你的收藏夹,让你轻松节省开发效率,实现不加班不熬夜不掉头发!   今天小编推荐一款在线文档工具,现有swagger 文档.dubbo文档.数据 ...

  4. 很安逸的离线API文档查询工具Dash和Zeal

    大家开发的时候难免会查询一些文档,看一下API的调用方法等,所以会不同的语言去某一个地方去找,确实很麻烦,今天给大家安逸两款软件,肯定会让你爱不释手! Dash for macOS 官方地址:http ...

  5. 罗永浩新公司准备招人,AI写一篇代码文档只需2步,如何优雅地乱搞Python代码、一大波数学资料来袭!AI前沿论文 | ShowMeAI资讯日报

    ShowMeAI日报系列全新升级!覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向.点击查看 历史文章列表, ...

  6. Doxygen——根据代码注释生成文档的工具

    文章目录 1 简介 2 安装 3 使用 3.1 注释代码 3.2 使用doxywizard生成文档 4 用例 4.1 OpenCV 4.2 Apollo 5 参考 1 简介 Doxygen是一个可以根 ...

  7. 自动生成代码的chm格式帮助文档

    在Visual Studio下编程,有两个很方便的生成chm帮助文档的工具.它们就是Sandcastle Help File Builder 和Sandcastle.Sandcastle Help F ...

  8. 骑马与砍杀python代码_GitHub - yunwei1237/scottish-fold: 一个关于骑马与砍杀的剧本制作工具...

    scottish-fold 一个关于骑马与砍杀的剧本简单快速的制作工具 前言 ​在很久以前的时候,也就是刚开始玩骑砍的时候就想着能够制作一个自己的剧本,用于书写自己想要的故事.当我怀着远大的梦想去这么 ...

  9. java基础之代码碎片

    java基础之代码碎片 1 类定义 2 匿名对象 3 生成随机数 4 ArrayList集合 5 静态代码块 6 super和this关键字的三种用法 7 字节输出流和字节输入流 8 复制文件 9 键 ...

最新文章

  1. 深浅拷贝、函数、内置函数、文件处理、三元运算、递归
  2. python连接oracle进行监控_使用Python脚本zabbix自定义key监控oracle连接状态
  3. Qt Creator从Blender导出3D资产
  4. python哪个方向工资高_【看完这五大Python就业方向,你选择哪个?】- 环球网校
  5. 将表数据生成SQL脚本的存储过程和工具
  6. jQuery (二)
  7. 【MySQL】MySQL 一些 使用 案例
  8. 我,27岁,程序员,今年无情被辞:该转行还是降薪和年轻人抢饭碗?
  9. Perl语言入门笔记(一)
  10. 软件评测师考试介绍及经验分享
  11. [Excel]Excel函数和用法(10)——数组公式的使用方法与隔列求和
  12. 19种电压转换的电路设计方式
  13. windows 7 64位 刷J-Link固件 无法识别成串口时 安装 sam-ba at91 usb to serial converter 驱动不成功的解决办法
  14. BF算法和KMP算法详解
  15. Docker 基础之Dockerfile命令详解
  16. 立创EDA---PCB
  17. java打印出 锟斤拷_一段java代码带你认识锟斤拷
  18. 游戏音乐制作中需要使用那些软件?
  19. 回忆老友蒋新松先生及庆贺《机器人产业发展规划》的发布
  20. excel 数据读出

热门文章

  1. 最新小红书解析api接口php源码
  2. 用Python定制一本个性化日历,快来领取你的新年礼物啦~
  3. LSI SAS9260-8i固件更新指南
  4. 声音经济将替代移动阅读
  5. OpenCV小游戏-《跑跑卡丁车》项目实践-1
  6. 西联汇款哪里取钱|怎么取钱
  7. win8无法连接微软服务器,修复win8.1提示“无法连接到windows服务”的方案
  8. Java如何打好牢固的基础?
  9. 我是女孩子,我适合学前端开发吗?
  10. KDZD818蓄电池内阻测试仪