打造windows下的開發環境
來自專欄 The Code Quibbler4 人贊了文章
上周自己組裝了一個台式機,一下子從舊筆記本的2核跨入到6核時代了,更新完驅動感覺整個心情還是很愉悅。新主機只帶核顯,糾結了很久要不要安裝ubuntu,最後忍住了。因為之前安裝過幾次都因為各種原因回到了windows。加上最近win 10對wsl的支持越來越給力,很多問題應該能夠解決。這裡就分享一下自己打造的windows開發環境。包括自己滿意和不滿意的地方,希望看到的人能夠給出更好的建議。
一. 硬體
說到底還是窮/sigh,如果不是捨不得買thinkpad,我也不會組裝電腦了。在windows下開發,很多時候需要安裝虛擬機,如果還有有VS、IDEA這些,8G以下的內存肯定沒法玩。現在是16G內存加上固態硬碟,每天浪費在開機和軟體啟動的時間減少了。唯一不滿的是這台式機不帶獨顯,可是cpu風扇的聲音還是讓人很崩潰,還好性能上已經很流暢了。
二. 字體
如果你對字體容忍度比較高,那麼恭喜你,你是幸福的,你也比我節省了很多時間。挑剔字體很浪費時間並且你會上癮,陷入難以自拔,像我一樣中毒的不少,reddit上每隔一段時間就有字體大評比的帖子。
之所以頻繁換字體,主要還是windows下的默認宋體實在不堪入目,設置FontLink很多地方又無效。目前在用B大的sarasa term sc等寬字體。其實我更喜歡思源黑體HW SC的英文字體,非常簡潔優雅,可惜思源黑體HW不是為代碼開發的,大寫的o和0無法區分,並且分隔號-偏低,如果寫符號豐富的語言(scala等)有點無法接受。
如果你不反感宋體,這裡推薦一個更好的英文字體:fira code retina. fira code是目前推特上最受好評的字體,沒有之一,當然,B大的iosevka也很受歡迎。
2018.5月: 我已經換成了新版的微軟雅黑字體,評論中下載,編程使用hinted過的monaco字體。
三. 軟體
只有懶人才能有生產力。作為一個工具信仰者,我堅信好的工具可以極大的提高生產力。在實際開發中,一個資料庫都會很幾十張表,如果通過下拉尋找表名,簡直生不如死(不用懷疑,我很多同事遇到我之前都是這麼乾的)。sqlyog可以用ctrl+shift+b進入表名搜索。sqlyog還有一個殺器-自動保存sql,你可以隨時查詢,關閉軟體下次啟動sql還在,目前好像只有sqlyog才有這個功能。每次看都我sqlyog搜索的時候,同事都會問我怎麼操作的,後來他們就都用啦。
說了這麼多,只想說好的工具能夠事半功倍。下面分享我認為是生產力的工具。
1.notepad++/sublime3, 我也用vs code寫寫前端和python腳本,json格式化查看等,但是文本編輯器核心需求是啟動快+自動保存。想想你一天的工作,調試時把日誌複製出來查看,構思一點東西,想對文本進行列操作,這些頻繁瑣碎的事情,notepad++都能幫你搞定,我一天下來用notepad++的時間一般都會超過在IDE上的時間。加上美觀等因素,只有notepad++符合要求,sublime啟動也不錯,用過一段時間,不過發現讓它做文本編輯器有點小用而且也沒有notepad++方便。
2.onenote 你需要一個雲筆記,onenote只是其中一個,你也可以用gist,為知筆記,印象筆記。我喜歡onenote的筆記本+分區+頁面的劃分。之前用過有道,印象,還買過為知筆記的會員(純粹對優秀軟體的支持),wiz的markdown支持也很棒,但是最堅持下來的只有onenote。工作中即使沒有網我也用onenote,定時備份一下,重裝系統時可以導入很方便,已經將工作中的待辦列表放在onenote的專門一個分區中,每個月一個頁面,每周一個兩行五列的表格,每個格子記錄今天和明天要完成的事。
我對onenote唯一不滿的是字體,總是將英文部分恢復到cabri或者雅黑,簡直不能忍。
3.cmder 你需要一個好用的終端。cmder是windows最好的終端。啟動快,美觀,支持部分linux命令,有個不錯的快捷鍵ctrl+alt+u 返回上一級目錄。
4.moba xterm 你需要一個好的ssh終端,moba xterm是最好的ssh連接工具,也可以用作cmd終端。自帶文件管理工具,
5. everything 文件整理一直是大多數人的痛,作為一個強迫症,我糾結這個問題很多年了,直到有一天我遇到了everything。目前我的筆記本只有一個盤(台式機兩個盤,因為經常玩linux),筆記本作為一個生產力工具,幾乎不會經常安裝系統,即使遇到問題,win10重裝也能保留文件,加上現在雲端時代,所以完全不必分盤。我的C盤除了系統文件夾,只有6個文件夾,1inbox,2ongoing,3archive,app,code,doc。第一個是收件箱,無論是qq文件還是郵箱附件(chrome下載除外)都扔在裡面,按修改日期排序。ongoing是進行中的項目。一般會按照迭代1迭代2這樣建子目錄。archive則是前面兩個文件夾已經過去凌亂時,將最早的一些文件移動到這個目錄下。 app則是綠色版軟體,code是代碼,doc是一些重要文檔(工作文檔在ongoing裡面)。這麼做的一個挑戰是如何找到需要的文件,答案是everything。 everything的搜索非常快。為什麼我覺得這個整理法科學?因為人的懶惰是天性。如果你的椅子經常長出衣服,那麼你的房間缺少一個掛衣架;如果你的客廳沙發總是堆滿了書包,那麼你的玄關缺少一個檯面、衣架;如果你總是經常陷於整理文件的煩惱中,說明你的方法不對,沒有人喜歡整理文件,那就應該將整理次數降低到最少,同時保證能找到文件。這個方法需要你在文件命名比較準確,剛開始我也經常失手,慢慢你就會總結出經驗。我的經驗是,不要帶上日期,日期應該是文件的一個屬性,不是文件名的屬性。其他搜索和命名技巧就因人而異了。
6. wsl 很多軟體是只能在linux下運行的,這個時候就需要有個虛擬機,不過目前看來,wsl似乎可用性已經很高了,像spark這些都能跑起來。 比起虛擬機,wsl有幾個優勢:ip埠就是本機的,不需要你設置;佔用內存小,啟動快,非常方便。文件訪問簡單,你可以使用上面推薦的mobaxterm,也可以直接用命令行,windows文件都掛載在/mnt/c和/mnt/d下,以此類推。說到這裡,推薦一下dotfile這個玩意,就是維護一個你linux的配置和腳本,將這些文件放在一個dotfile目錄下,也可以上傳到github,基本包括很多linux初始化,vimrc設置(個人沒怎麼用),之前安裝各種linux發行版時,整了一份腳本,初始化安裝chrome,vscode,source.list替換為國內,jdk設置,字體設置等。這樣重裝系統之後只要一個命令就可以大部分恢復到原來習慣樣子啦。回到wsl,可以將常用的linux文件放到一個目錄下,並且維護一個dotfile,實現一鍵安裝。
7. 還有一些想IDEA,jupyter notebook不怎麼通用的就不介紹啦。
推薦閱讀:
TAG:開發環境 |