配置豪華的 Windows 開發環境

jianshu發表於2014-07-16

  列舉一些好用,免費的的開發相關工具

  最近愈發發現程式設計師之間不知道聊什麼的話,講講些常用的開發工具絕對是個好話題。所以這裡我想整理一下我經常用的 Windows 下開發相關的免費工具。如果你中午吃飯的時候講到沒話說,不妨試試“那個啥 xxx 你用過沒,還挺好用的”這樣來防冷場吧。

 ConEmu + clink

  在 Windows 下做開發和 cmd.exe 打交道是是少不了的。如果你經常輾轉於 Linux 和 Windows,那麼 cmd 絕對會爛得讓人想撞牆。然而好訊息是這個悲劇的局面隨著 ConEmu 的出現而徹底結束。裝上這個後你就有了一個超級豪華加強版的 cmd.exe:

  • 支援 ClearType 字型,真彩色主題的炫酷介面
  • 視窗長度寬度可以隨意拖拉,可以近乎無限的回滾歷史
  • 滑鼠拖拉選擇文字不再是拉出一個方框,而是像正常人想象的那樣拉出幾行來
  • 好使的 Tab,好使的快捷鍵,好使的各種設定

  ConEmu 自帶了 clink,一個嘗試再 cmd 上加入 bash 常見功能並且真的做到了的專案。這樣除開上面的你又獲得了這些功能:

  • Tab 鍵補全當前目錄下的檔案和 Path 上的可執行程式
  • Ctrl-V 貼上到命令列,不用右鍵點視窗標題欄再點貼上。
  • Ctrl-R 補全歷史命令
  • 自動存數歷史命令,下次開機也能找回之前的命令列歷史

  如果你經常用 Putty 的話,基本上 ConEmu 給人的感覺就是像用 Putty 來連上本地的 cmd。經過稍許配置,你就可以獲得一個如下圖一樣的命令列:

ConEmu 介面

  如果你平日工作裡常與 cmd 打交道,那不妨對自己好一點迅速裝上這個試試。

 gow

  還是命令列相關的,如果你常懷念 Linux 下的 ls, cat, tail 這些東西又不想裝上一個幾個 G 的 cygwin 的話,gow 正是你在苦苦尋找的東西。它打包了一些常用的,並且在 Windows 下可以正常工作的 Linux 命令列工具。

  值得一提的 gow 附帶了一個單檔案命令列版本的 vim,非常適合用來寫 commit message 或者做些簡單的編輯操作。

 SourceTree

  如果你工作用到 git 或者 hg 做版本控制的話,SourceTree 這個圖形介面的 git/hg 客戶端可以提高相關操作的效率。如果你是剛開始使用 git/hg,這個可以幫助你迅速上手;如果你對各種命令已經能用的隨心所欲也可以試試用這個。

  我現在經常用到 git,工作流程是大部分寫操作都是在命令列裡完成,而各種檢視的操作,比如看分支情況,看 diff 看 log 都是直接切到 SourceTree 裡面看,省了很多敲命令的時間。SourceTree 沒有設計成隱藏底層的命令列呼叫,你在它裡面的操作都是以命令列的形式完成的。同時你在命令列裡操作後,切到 SourceTree 按一下 F5 重新整理後就看的到。舉個例子,我在命令列裡執行 git merge,提示有衝突。切到 SourceTree 可以看到衝突的檔案,點開選單可以選擇用圖形工具來 resolve,然後再切到命令列裡做 git merge --continue 就行了,感覺非常順暢。

  額外的,圖形化的介面使得很多檔案路徑相關的操作變得非常簡單。你可以拖動檔案來完成 stage/unstage/discard 檔案的操作,而不用手動敲入一長串檔名。SourceTree 對於 git 還支援滑鼠點選來 stage 某一小段程式碼,這個比起你命令列下看半天絕對要方便很多。

  Windows 下支援 git/hg 的圖形化客戶端不多,我用下來感覺這個各方面目前應該算是比較好的。

 TDM-GCC

  如果你是做 C/C++ 相關的開發,或者有在 Windows 上編譯 C/C++ 專案的經驗的話,你應該聽說過 MinGW。它的大概意思就是在 Windows 上提供一套於 Win32 相容的 POSIX 環境,用來跑 GCC 編譯器。TDM-GCC 就是一套基於 MinGW 跑在 Windows 32/64 上較新的 GCC,可以用來將 C/C++ 程式碼編譯成原生的 Windows 程式。

  相比於之前看到的其他各種版本,TDM-GCC 的特點一個是“新”。目前其附帶的 GCC 版本是 4.8.1,已經跟上了 Debian Testing 上的版本,而且是一個支援 C++11 的版本;另一個特點就是“臥槽還真的能用”。MinGW 總體狀態感覺其實不是太靠譜。很多其他的 Windows 上的 GCC 編些自己寫的小程式沒問題,編別的東西的時候就少這少那各種錯讓人無比頭疼。而 TDM-GCC 感覺這方面做的很好,很少會有奇怪的錯誤。另外它支援編譯 32/64 的程式,預設靜態連結標準庫,編譯出來的東西拷出去給別人就能用不需要附帶一堆 dll 感覺非常棒。

  如果你想在 Windows 上試試 GCC 的話,TDM-GCC 應該是目前最好的選擇。

 everything

  用過 OSX 的使用者一定知道右上角的 Spotlight 非常好用。everything 基本上就是 Windows 上的 Spotlight。裝上後它需要花十分鐘左右索引一遍硬碟,然後你就可以全域性按照檔名來查詢任何檔案,並且瞬間得到結果。對於新建的檔案或者重新命名操作,everything 裡也會立即獲得結果,叼的令人髮指。

  它還附帶一個簡單的命令列介面,你可以輕易的把它的功能加入你的自動化指令碼里。

 mongoose

  如果你是做 Web 開發的話那麼應該經常有需要臨時搭一個 HTTP 伺服器來 serve 一些靜態檔案。Linux 下你可以軟鏈到你的 /var/www 什麼的,在 Windows 上似乎沒有什麼簡單原生的方法。看到現在 mongoose 應該是當下不錯的一個選擇。下下來以後開啟,選擇你要 serve 的目錄再在瀏覽器開啟應該就可以了,和主流 HTTP 伺服器一樣它會自動處理 MIME Type,用來在開發過程中放靜態檔案絕對是夠用了。

  再比方說你要給你的同事傳一個檔案,除了開 QQ 來傳以外用這個也是一個不錯的選擇。

 PicPick / LICECap

  如果你常開著 QQ 的話那麼截圖方面的需求基本就已經滿足了。如果你需要更高階的功能或者不太開 QQ,PicPick 是一個不錯的選擇。一方面它有很多常見的截圖軟體功能,比如擷取當前活動視窗,自動滾動視窗擷取長網站圖片等等。另一方面它還帶上了很多實用工具,比如全屏取色器,可浮動的畫素標尺,還有一個功能挺夠用的影像編輯器。

  如果你想截 gif 圖片的話,LICEcap 可能是目前唯一一個免費開源的選擇。好訊息是它效果還挺不錯,用起來也很有意思:你要把它的視窗像快門一樣對到你要錄製的地方然後開始錄,開始前還有幾秒準備時間。

 Pandoc

  Pandoc 是一個"萬能文件轉換器",但我基本上是用它來把 Markdown 轉換成 PDF,.docx 這些蛋疼的格式。比如你的工作需要你用 Word 寫文件,有了這個你就可以寫 Markdown 然後用 Pandoc 轉成 .docx 然後再把你的模板樣式刷上去就好啦。

  值得一提的是 Pandoc 是用 Haskell 寫的,說不定這也是唯一一個常見民用的 Haskell 編寫的軟體。

 C:\Bin 和 bat wrapper

  收尾前介紹下我是怎麼整理 Windows 上的命令列工具。我把大部分單個檔案的命令列工具放在一個目錄,比如 C:\Bin,然後把這個路徑放在 Path 上,這樣裡面的東西就能在命令列裡直接用了。但很多像 CMake,Gradle 這樣的工具下下來自己就有一個目錄結構,不太好直接丟在 C:\Bin 裡,這些一個個放在 Path 上又很麻煩。有一個方法就是建立一個 bat 檔案來轉接一下。比如我想要在命令列裡呼叫 NAnt,我就在 C:\Bin 下建立 nant.bat 裡面寫:

@echo off
C:\Bin\nant-0.92\bin\NAnt.exe %*

  其中 %* 表示把所有的引數都轉傳給 NAnt.exe。如果你有強迫症看不得硬編碼的路徑的話,可以寫成這樣用相對路徑:

@echo off
%~dp0nant-0.92\bin\NAnt.exe

  %dp0 會被替換為該檔案所在的目錄。

 最後

  找些順手的工具提高工作效率總是能讓人感覺非常舒爽。希望這篇看完你也能找到些用的上的東西。

相關文章