在windows下面我們有source in sight可以方便的瀏覽大工程中的代碼,切換到linux環境下開發時, 我們也可以搭建一個這樣的環境。下面的內容將介紹如何搭建這樣一個開發環境(這裡我們假設讀者已經熟 悉emacs的安裝和配置)。 步驟一 安裝下列軟體 1)cscope (version 15.6) :cscope是一個代碼瀏覽工具,它可以幫你在一個大的工程中, 快速定位到一個函數/變數的聲明位置,所有引用地方等,它可以結合vim和emacs一起使用。 單獨使用cscope時不同文件間的跳轉變得很難處理,這裡我們介紹cscope在emacs環境中的 使用; 2)cedet-1.0pre4 :ecb需要依賴這個; 3)ecb-2.32 :這個是emacs的插件,可以在emacs中劃分好幾個不同的窗口,比如源代碼窗口, 工程目錄窗口,方法窗口等; 4)emacs-22.1.1 5)display-line-number.el 顯示行 步驟二 修改或創建.emacs文件 ;;載入我們需要的plugin (load-file "path/cedet.el") (load-file "path/ecb.el") (load-file "path/xcscope.el") (load-file "path/display-line-number") (global-display-line-number-mode 1) (setq display-line-number-format "%4d|") ;;下面是我常用的2個快捷鍵 (grobal-set-key "\M-g" 'goto-line) (grobal-set-key "\M-m" 'set-mark-command) 步驟三 添加工程 假設我們要把/home/src/linux-2.6.23的源代碼添加到工程中去,我們可以這樣做, 1)cd /home/src/linux-2.6.23 進入源代碼根目錄; 2)touch cscope.sh創建一個腳本文件,內容如下 #!/bin/bash LNX=/home/src/linux-2.6.23 find $LNX \ -path "$LNX/arch/*" ! -path "$LNX/arch/i386*" -prune -o \ -path "$LNX/include/asm-*" ! -path "$LNX/include/asm-i386*" -prune -o \ -path "$LNX/tmp*" -prune -o \ -path "$LNX/Documentation*" -prune -o \ -path "$LNX/scripts*" -prune -o \ -path "$LNX/drivers*" -prune -o \ -name "*.[chxsS]" -print > cscope.files cscope -b -k 3)運行完cscope.sh腳本后,運行emacs,通過M-x ecb-activate激活ecb,然後通過 M-x ecb-add-source-path把$LNX加入工程中(註:我通常不喜歡gui界面,所有使用 命令emacs -nw激活emacs)。 步驟四 熟悉命令 1)常用的幾個mode: M-x ecb-activate '看式代碼模 M-x hs-minor-mode '代碼摺疊 M-x display-line-number-mode-on '顯示行號,需要display-line-number.el M-x ediff/ediff-revision '比較模式 M-x compile M-x gdb '調試模式 ... 2)窗口切換命令 C-c . g d 進入工程瀏覽窗口 C-c . g s 進入源文件瀏覽窗口 C-c . g m 進入方法瀏覽窗口 C-c . g l 進入最近編輯的文件 C-c . e 進入eshell模式 3)代碼瀏覽命令 C-c s s 所有引用 C-c s c 所有caller C-c s g 聲明,原型 ... 4)列編輯: M-m/M-w '設置mark M-x string-insert-regtangle '插入文本,也可以C-x r t C-x r k '刪除文本,可以使用C-x r y再copy到另一個地方 C-x r c C-x r d 5)版本比較 假如使用svn管理代碼的話,可以進入emacs后,使用M-x ediff-revision進行版本比較。通常的比較 一般使用M-x ediff/ediff-directiories,非常方便。 補充:emacs或者vim的命令都非常的多,所以如果真的想要把這些工具用好,需要網上多看些相關的資料和 多練習
[火星人
]
解決linux下代碼查看問題 已經有291 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-187646.html