在虛擬機環境下使用Linux編寫和閱讀代碼,我之前一直是通過Xshell利用ssh登錄至虛擬機從而在命令行下使用vim來進行的。目前有閱讀開源代碼的需要,雖然vim+ctags+cscope可以完成這項工作,不過對我來說畢竟還是用鼠標操作窗口更容易入門,因此希望能在Windows環境下閱讀和修改Linux虛擬機的開源代碼。
能完成這個要求的途經不少,這里介紹一個比較簡單的方式:SftpDrive+SourceInsight。其中SftpDrive用於將SSH服務器映射為Windows網絡驅動器,而SourceInsight用於代碼閱讀和編寫,這里的代碼以Nginx源碼為例(實際設置時並無區別)。
由於SftpDrive使用的是SSH,因此映射的對象不僅限於虛擬機。同時在使用前請確保欲映射的目標的SSH服務已開啟,然后啟動SftpDrive,如下圖中進行設置:
為了能獲得所有目錄的完全修改權限,建議使用root進行登錄,並且顯示的文件夾選擇"Show the entire server"。不過此后進行刪除和修改操作時要格外小心。
設置完畢並Connect,可以看到計算機中多出了一個盤符,這時就可以像操縱本地文件一樣讀寫虛擬機里的文件了。
更近一步地,可以使用SourceInsight對源碼進行查看和修改。由於SourceInsight的介紹文章很多,下面僅以Nginx1.4.2的源碼為例簡單介紹一下。
進入SourceInsight,選擇Project->New Project,輸入項目名和項目數據存放目錄(不是源碼目錄,最好用本地目錄):
接下來才是選擇源碼所在目錄:
這時選擇Add Tree就可以了。注意有時使用Add Tree可能無法添加文件,如果確保過濾選項無誤,可以重啟計算機再試試。
其他參考資料: