官术网_书友最值得收藏!

2.1 代碼編輯器

不管是做開發還是代碼審計,一款順手的代碼編輯器必不可少,代碼編輯器從輕量級到功能復雜強大的完備型,從免費到商業,都有很多款供我們選擇,我們可以根據需要選擇最適合的一款,常用的輕量級代碼編輯器有Nodepad++、Editplus、UltraEdit、PSPad、Vim、Gedit,等等,這些都是都是通用型文本編輯器,支持多種編程語言代碼高亮,優點是操作簡單,啟動快并且對文本操作很方便。常用的完備型PHP開發軟件也不少,這類編輯器主要的優點是功能全,對代碼調試、代碼提示等都支持得比較好,使我們在開發的時候bug更少,開發效率更高,常用的有Zend Studio、PhpStorm、PhpDesigner以及NetBeans等。

如果你用編輯器來做開發,并且代碼量比較大,建議你使用Zend Studio。如果用來做代碼審計或者少量代碼的開發,建議使用Nodepad++這類輕量級文本編輯器。

2.1.1 Notepad++

Notepad++是一套非常有特色的開源純文字編輯器(許可證:GPL),運行于Windows系統,有完整的中文接口及支持多國語言撰寫的功能(UTF8技術)。它的功能比Windows中的 Notepad(記事本)強大,除了可以用來編輯一般的純文字文件之外,也十分適合輕量開發的編輯器。Notepad++不僅有語法高亮顯示功能,也有語法折疊功能,并且支持宏以及擴充基本功能的外掛模組。

Notepad++可以安裝免費使用。支持如下語言的代碼高亮顯示:C、C++、Java、C#、XML、HTML、PHP、ASP、AutoIt、DOS批處理、CSS、ActionScript、Fortran、Gui4Cli、Haskell、JSP、Lisp、Lua、Matlab、NSIS、Objective-C、Pascal、Python、JavaScript等。

Notepad++擁有非常多強大的功能,特別是對文本操作非常靈活,這是筆者用得最多的一個文本編輯器,經常用來做一些有特定格式的文本批量替換、搜索、去重,等等。當然,它的強大不止如此。下面簡單介紹下它的核心功能:

1)內置支持多達27種語法高亮顯示(包括各種常見的源代碼、腳本,能夠很好地支持.nfo文件查看),還支持自定義語言。

2)可自動檢測文件類型,根據關鍵字顯示節點,節點可自由折疊/展開,還可顯示縮進引導線,代碼顯示得很有層次感。

3)可打開雙窗口,在分窗口中又可打開多個子窗口,顯示比例。

4)提供了一些有用工具,如鄰行互換位置、宏功能等。

5)可顯示選中的文本的字節數(而不是一般編輯器所顯示的字數,這在某些情況下很方便,比如軟件本地化)。

6)正則匹配字符串及批量替換,也支持批量文件操作。

7)強大的插件機制,擴展了編輯能力,如Zen Coding。

我們可以在官網Notepad++官網(notepad-plus-plus.org)下載最新版。主界面如圖2-1所示。

圖2-1

2.1.2 UltraEdit

UltraEdit(官網www.ultraedit.com)是一款功能強大的文本編輯器,不過它不是開源軟件,官網售價79.95美元,可以完美運行在Windows、Linux以及Mac系統上。這款編輯器不僅可以編輯文本,還支持十六進制查看以及編輯。可以直接在上面修改exe等文件,如圖2-2所示。

圖2-2

該編輯器支持將近二十種編程語言的語法高亮顯示,可同時編輯多個文件,支持打開超過4GB以上的文件,支持多種編碼轉換、排序去重。通過配置使用的腳本運行程序路徑,比如php.exe的路徑,就可以在使用UltraEdit編輯PHP代碼的時候直接執行代碼。再結合它的代碼補全功能,它也算得上一款不錯的代碼編輯器。要實現這個功能,首先在“高級→工具欄配置”中配置一些執行環境參數,在“命令行”的位置填入你的PHP文件路徑,在“菜單項目名稱”上寫你想填的菜單欄名稱,這里寫的是php. exe,在“工作目錄”中寫上你的PHP exe路徑,然后點擊“確定”按鈕,即可新建一個文件。在“高級”菜單里面點一下添加的php.exe(菜單欄名稱)即可執行代碼,如圖2-3所示。

圖2-3

另外一個比較好的功能是文件對比。這個功能也是經常會用到的,特別是我們在分析開源程序發布的官方補丁時,比如Phpcms某天發布了一個代碼執行漏洞修補補丁,那么我們就可以在官網下載補丁文件,然后利用UltraEdit的文件對比功能來快速找到修改了哪段代碼,修改的部分是不是成功修補了這個漏洞,或者未公開的漏洞。也可以根據這個方法快速找到漏洞在哪里。

這個功能可以在菜單欄“文件→比較文件”中找到,然后選擇要對比的兩個以上文件,勾選“比較選項”里面以忽略開頭的所有選項,點擊“比較”按鈕即可,如圖2-4所示。

圖2-4

如果比較的文件有不同的地方,它會用紅色標出,如圖2-5所示。

圖2-5

UltraEdit被公認為程序員必備的編輯器,是能夠滿足你一切編輯需要的編輯器。

2.1.3 Zend Studio

Zend Studio與PHP出自同一家公司,也可以說Zend Studio是PHP官方專門開發出來用來編寫PHP代碼的代碼編輯器。Zend Studio是目前用戶量最大的PHP開發工具,也是屢獲大獎的專業 PHP 集成開發環境,具備功能強大的專業編輯工具和調試工具,支持PHP語法高亮顯示,支持語法自動填充功能,支持書簽功能,支持語法自動縮排和代碼復制功能,內置一個強大的PHP代碼調試工具,支持本地和遠程兩種調試模式,支持多種高級調試功能,可以完美運行在目前主流的Windows、Linux以及Mac操作系統上。官網是http://www.zend.com/en/products/studio。

Zend Studio 10.6版本的界面截圖如圖2-6所示。

圖2-6

Zend Studio最令筆者最喜歡的功能是代碼提示功能,實際上,只要這個功能做得好的編輯器,筆者都非常喜歡,因為這非常人性化,可以讓我們不用去記那么多函數,等你經常用的編程語言超過了6種以上,你就會深有感觸。代碼提示功能如圖2-7所示。

圖2-7

另外Zend Studio在代碼調試方面也非常強大,支持多種調試模式,利用它的調試功能,可以讓我們非常快地發現bug位置,監控數據傳遞過程和函數運行情況,如圖2-8所示。

圖2-8

主站蜘蛛池模板: 澎湖县| 西城区| 基隆市| 乌鲁木齐县| 张北县| 招远市| 墨竹工卡县| 大洼县| 梧州市| 师宗县| 右玉县| 嫩江县| 聊城市| 建始县| 汕尾市| 榆中县| 渭源县| 城步| 稷山县| 沙河市| 土默特右旗| 同江市| 辉南县| 灵丘县| 高雄市| 高密市| 枣强县| 黄浦区| 古丈县| 固始县| 修水县| 赣榆县| 石屏县| 广宁县| 太保市| 昭苏县| 临朐县| 金阳县| 柳河县| 宜城市| 永昌县|