原文連接:http://scriptfans.iteye.com/blog/1543219程序員
做爲一名死coder,天天最多見的動做就是查看各類API文檔,你必定也有過同時打開N個窗口(HTML、PDF、CHM),不停的在編輯器與文檔之間切換的感覺吧?怎麼說呢,其實我很討厭這種枯燥無味的動做,那麼如何才能提升效率,減小無用功呢?下面就給你們介紹一款很是好用的Mac小工具:Dash,相比這個英文名,我跟喜歡叫它「叮噹貓」,嘿嘿。ajax
功能簡介
官方用一句話就歸納了它的用途:Dash是一個API文檔瀏覽器( API Documentation Browser),以及代碼片斷管理工具(Code Snippet Manager)。你沒看錯,它就只有這兩個功能,但確實是程序員(至少對於我來講)最爲關心的特性,本身以前也用過了很多相似的工具,能夠絕不誇張地說,Dash是它們之中作的最好的一個!瀏覽器
強悍的API文檔瀏覽、搜索功能
想必這個功能是你們最經常使用的了吧,天天要反覆查看、搜索那麼多的API細節,沒有一個好工具,單靠本身的雙手如何應付得來?窗口不停的切來切去,很煩啊!Dash採用集成單一窗口的方式,很好的解決了這個問題。看下面的截圖:app
上圖即是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比較調皮,會時不時的跳出來打擾你一下,囧……反正我運行了一夜,還沒見到這隻傳說中的貓呢。其實這只不過是給你提供了贊助做者的機會,畢竟這麼好的軟件,若是經濟條件容許,支持一下也無可厚非,同是軟件開發者,其中的辛酸你我都懂的。