你可能沒聽過納博科夫這個(gè)名字,但你一定聽說過他的作品《洛麗塔》。這位 20 世紀(jì)的文學(xué)大師有著一個(gè)著名的寫作習(xí)慣 —— 使用卡片進(jìn)行寫作。他會(huì)在一張張卡片上寫下一個(gè)又一個(gè)故事片段,然后就像搭積木一樣,將這些片段整合到一起成為一個(gè)完整的故事。
我并不從開頭寫起,一章接一章地寫到結(jié)尾。我只對(duì)畫面上的空白進(jìn)行填充,完成我腦海中相當(dāng)清晰的拼圖玩具,這取出一塊,那取出一塊,拼出一角天空,再拼出山水景物,再拼出——我不知道,也許是喝的醉醺醺的獵手。
而我現(xiàn)在想向你介紹的這款軟件 SnippetsLab,就是這樣一個(gè)為收集管理你的「卡片」而設(shè)計(jì)的軟件,只是這些卡片不是文章,而是代碼片段。
For Missing Code Snippets
Snippetslab 不是一款傳統(tǒng)意義上的代碼編輯器,它的設(shè)計(jì)從頭到尾都透著一股濃濃的為碎片化而生的味道。它所面向的不是連續(xù)的編輯一個(gè)完整程序的情景,而是將一個(gè)程序組件一個(gè)個(gè)拆分出來編寫的情景。
在這種情景下,你可以非常碎片化的編寫程序,并且可以快速的將代碼調(diào)用到各個(gè)其他的程序上。而Snippetslab做的就是將這些代碼收集在一起,讓你可以快速搜索并調(diào)用,將一個(gè)個(gè)小的程序片段快速的組合。
SnippetsLab 的終極目的就是將你容易遺忘在電腦角落中的各種代碼片段收集在一起,構(gòu)建成你個(gè)人的巨大的代碼片段庫。隨著你編寫與收集的代碼片段越來越多,你的私人片段代碼庫也就積累的越來越多,你的可用代碼也就越來越多,結(jié)合它的快速搜索和資料庫結(jié)構(gòu),將能夠極大的幫助你的程序構(gòu)建(雖說網(wǎng)上的代碼庫肯定更大,但用自己整理的代碼不是更方便容易嗎)。
同時(shí),SnippetsLab 支持 iCloud,這意味著你可以在多臺(tái)設(shè)備上快速同步。
干凈簡潔的界面
首先讓我們從界面看起。
我們平時(shí)所用的代碼編輯器都是直接顯示一個(gè)單純的編輯界面,最后都是保存在我們所選擇的目錄下。而 Snippetslab 則是使用了類似 Ulysses 的三段結(jié)構(gòu)。

左側(cè)是文件夾目錄,支持多層文件夾結(jié)構(gòu)與自定義規(guī)則的智能文件夾,并且支持切換至 Tag 分類模式;中間是當(dāng)前文件夾下的文件目錄;右邊是文件內(nèi)容界面,標(biāo)準(zhǔn)的編輯器界面,支持語言高亮。

在 Ulysses式架構(gòu)之外,Snippetslab 還加入了一個(gè)新的管理層級(jí) —— 「Fragment」,即是在一個(gè)文檔里再加入低一層級(jí)的標(biāo)簽分頁,讓 Snippetslab 的代碼碎片的收納性更進(jìn)一步。同時(shí) Snippetslab 考慮到了代碼備注的需求,支持在代碼文件中添加 Notes 并以置頂形式備注懸浮在編輯窗口上方。

SnippetsLab 對(duì)語言的支持做的相當(dāng)全面,可以選擇 100 多種編程語言進(jìn)行語言高亮標(biāo)注。你可以自定義現(xiàn)在主要使用的幾種語言來進(jìn)行高亮設(shè)置。SnippetsLab 也支持 Markdown 語言,并且開發(fā)者表示將在未來的版本中加入 Markdown 預(yù)覽功能。

總的來講,SnippetsLab 的 UI 界面干凈清爽、層級(jí)清晰,并且支持 9 種不同配色主題,顏控的好選擇。
強(qiáng)大的菜單欄助手
Snippetslab 的野心不僅在于做一個(gè)普通的代碼管理器,它的目標(biāo)是要成為你寫程序時(shí)的第二大腦,于是它在菜單欄常駐了一個(gè)強(qiáng)大的菜單欄助手。
Snippetslab 的菜單欄助手有點(diǎn)像印象筆記的菜單欄助手的感覺,但在功能上更為強(qiáng)大,可以說在很多情況下這個(gè)菜單欄助手可以完全代替程序主體來使用。

點(diǎn)開菜單欄上的錐形燒杯圖標(biāo),我們可以發(fā)現(xiàn)它是分成兩個(gè)部分的,分別是作為搜索管理的 Find 和編寫收集新代碼的 New。

Find 部分是用來查找與查看代碼,支持全內(nèi)容搜索,而且最贊的是當(dāng)你把鼠標(biāo)移到相應(yīng)的文件名上時(shí)會(huì)顯示出一個(gè)預(yù)覽窗口,你可以直接快捷的復(fù)制里面的代碼。

New 部分則是支持直接在小窗口里創(chuàng)建新的文件,類似印象筆記的設(shè)計(jì)直接可以開始寫,并且可以選擇保存所屬的文件夾,同時(shí)還可以選擇對(duì)應(yīng)的語言類型,并且支持在當(dāng)前界面下的語法高亮。你完全可以不打開 Snippetslab 的程序主體,直接在菜單欄里完成程序的編寫。
Snippetslab 在設(shè)置里可以選擇從 dock 隱去,這樣我們平時(shí)就只能看見菜單欄上的圖標(biāo)。
從這個(gè)無處不在的入口設(shè)計(jì)以及其支持 iCloud 中不難看出,Snippetslab 是想要成為類似印象筆記一樣的「代碼庫第二大腦」。
總結(jié)
總而言之,Snippetslab 是一款少有的為代碼片段準(zhǔn)備的管理軟件,有著成為你代碼方面第二大腦的野心的它,將會(huì)通過它強(qiáng)大的菜單欄助手,讓你的代碼編寫與收集都變的更加智慧與快捷。而你的諸多代碼片段,也將能夠更大程度上被善加利用。
作為一個(gè)年輕的應(yīng)用,它還有著巨大的潛力等待你的挖掘。
每個(gè)工具都帶有用來創(chuàng)造它的那種精神。——海森堡《物理學(xué)與哲學(xué)》
你可以在 Mac App Store下載 SnippetsLab,售價(jià) 68 元。