2008年8月17日 星期日

[軟體] 搜尋字串利器 -- Agent Ransack

01

大家都喜歡寫程式, 而不喜歡看別人寫的程式, 但是在這個分工的社會, 要作大事就要與別人合作, 這意味著你一定要學著適應與調適自己, 去看別人的程式. 然後修改別人的程式以符合自己的需求.

聽說高手都是從看別人的程式起家的.

看別人的程式最討厭的就是想看某一個物件或變數的定義, 卻不知道他在哪裡, 要找真的很麻煩! 如果你用 Visual Studio .Net 之類的 IDE 還可以進行全 Project 的搜尋, 可是當別人使用的編譯工具是 make 時, 那 IDE 就沒什麼幫助了.

尤其是當要搜尋的東西, 在幾個可能的目錄中, 檔案總管似乎就不是那麼方便.

你可以使用 Google Desktop Search 搜尋整個電腦, 但是如果你只是很單純的想要簡單上手的強力搜尋工具, 那可以使用 Agent Ransack.

他是免費的, 他是綠色的, 也就是要移除他直接刪除即可. 

 

為何不用 Google Desktop Search 或者是 Windows Search 呢?

主要的理由是: 他們這些軟體只能找到檔案, 可是卻不會顯示你的 pattern 在檔案中的位置.

這個資訊對我很重要, 我希望能夠直接開啟該檔案, 直接 Ctrl+G 到對應的那一行.

對我而言, 我需要的不只是在哪一個檔案有我要的文字, 我還要知道出現在哪一行!

就好像下面這張圖一樣: 原來我要找的字串在 xxStreamServerInfo.java  裡面的 119 行. 然後我就在左邊的欄位中用 NotePad ++, 直接到 119 行修改程式.  方便又快速.01

 

雖然這簡單的工具可以自己寫, 但是別人已經寫好了我們就先服用了.

謝謝 AGon 先生告訴我這麼好用的軟體.

by Jing

6 則留言:

  1. 試用了一下,搜尋速度很慢...?有試過Locate32嗎?

    回覆刪除
  2. 挖,, 謝謝你告訴我這個軟體.

    剛剛上去看了 Locate32 是 open source, 光是這點就讓人眼睛為之一亮.

    我剛剛下載回去玩了一下.

    看來似乎不錯, 可是搜尋前要先建立 index 資料庫, ... 有點久. 當初就是因為這樣所以不想等著建立 index, 所以才想找一個搜尋軟體.

    我想這是快速搜尋必須付出的代價, 而且每當文件有增減或文件內容有變動, 資料庫又要重新 update 一次, 否則會搜尋不到, 這就是建立索引方法的缺點.

    有人試過比較 Locate32 與 Google Desktop Search 這兩套軟體, 哪一個比較適合程式設計師查找 source code 呢?

    因為 Agent Ransack 可以直接對包含定義的程式檔進行編輯, 所以我希望最好能直接開啟搜尋到的檔案, 直接編輯.

    回覆刪除
  3. 剛剛查了一下,
    我想 Locate32 可能不適合我的需求.
    我要找的是檔案內容, 而不是檔案, 但是 Locate32 是以檔案名稱與位置為索引. 所以他找檔案很快, 可是像我一樣希望找出哪些檔案, 用了這個變數的功能, 就可能沒有那麼高的效率.

    延伸資訊:
    Five Best Desktop Search Applications
    網址: http://lifehacker.com/400365/five-best-desktop-search-applications

    回覆刪除
  4. locate32'可以'搜尋文字內容啊!!

    只要別輸入檔名與副檔名,接著切換到"進階"頁籤裡,
    "檔案包含字串"打勾,再輸入你要搜尋的字串(你甚至還可以用萬用字元* 做模糊比對) 就ok了,
    比對內容會比純找檔案或資料匣慢,如果你知道是在哪個資料匣,也可以指定搜尋範圍
    這樣就不會整台電腦比對,就快很多很多


    locate32這麼好用的東西別輕易放棄~

    雖然它都要更新資料庫,但每天更新的第一次比較久,之後當天若電腦沒關時再更新就會很快很快了

    回覆刪除
  5. 謝謝你的建議, 我會試試 Locate32.

    看看能不能取代我在 NotePad ++ 中, 找文件內容的方法.

    回覆刪除