淺談配置Eclipse支持Perl腳本開發(fā)
1 Installation
EPIC(Eclipse Perl Integration)是一個基于Eclipse平臺的開源Perl集成開發(fā)環(huán)境。其支持的功能有語法高亮、語法檢查、代碼提示、Perldoc支持、模版、Perl調(diào)試器和正則表達(dá)式插件等。
在安裝EPIC之前需要安裝Eclipse3.1以上版本,此外還需要安裝Perl解釋器(Unix和Linux平臺通常會缺省安裝Perl,Windows平臺上可以安裝ActivePerl,下載地址www.activestate.com)。
可以通過Eclipse Update Manager來安裝EPIC。選擇菜單Help->Software and Updates->Find and Install,在彈出的Install/Update對話框中選擇Search for new features to install然后單擊下一步,在彈出的Install對話框中單擊New Remote Site,在彈出的對話框中輸入Name(例如EPIC)和URL(http://e-p-i-c.sf.net/updates)然后單擊確定。接下來在Install對話框中選中剛才新建的Site,單擊完成。按照向?qū)У闹甘就瓿珊罄m(xù)的過程,忽略途中提示的未經(jīng)簽名的警告。重啟Eclipse后,EPIC應(yīng)該已經(jīng)安裝完畢了。
如果要暫時禁用或者卸載EPIC,選擇菜單Help->Software and Updates->Manage Configuration,展開彈出對話框左側(cè)的樹控件,選中當(dāng)前版本的EPIC并單擊右鍵,在彈出菜單中選擇禁用或者卸載。
2 Setting Up Preferences
選擇菜單Window->Preferences,在彈出的Preferences對話框左側(cè)的樹控件中選擇Perl EPIC以打開Perl EPIC General Preferences頁。這個頁中包含了Perl解釋器的路徑、解釋器的類型以及其他選項等。
關(guān)于解釋器的類型,除了standard之外,還可以選擇Cygwin。如果選擇Cygwin,那么@INC數(shù)組的內(nèi)容會有所變化。至于@INC數(shù)組,當(dāng)使用use ModuleName來裝載模塊時,Perl會在@INC數(shù)組中列出的每一個目錄中查找模塊。因為use是在編譯時裝載模塊,所以任何對@INC的修改都需要在編譯時發(fā)生??梢酝ㄟ^BEGIN塊在編譯時向@INC中添加值,例如BEGIN { push @INC, ‘/path’ }。@INC通常包含(假設(shè)Perl安裝在/perl):/perl/lib /perl/site/lib .。核心模塊是安裝在”perl/lib”目錄中,非核心模塊安裝在”perl/site/lib”目錄中,”.”這個目錄表示當(dāng)前的工作目錄。在Eclipse中選中Perl工程,選擇Project->Properties,在彈出的對話框中選擇Perl Include Path,然后就可以向@INC中添加項目。如果沒有指定絕對路徑,那么這個路徑是相對于工程目錄的。可以使用標(biāo)準(zhǔn)的Eclipse變量,例如${project_loc}。
關(guān)于調(diào)試器相關(guān)的設(shè)置有以下兩個:
Enable debugger console。這個選擇只是在你希望調(diào)試EPIC自身的時候有用,在其它情況下不要使用。在調(diào)試的時候,一個特殊的控制臺(單擊Debug View中的perl –d項目以顯示此控制臺)會顯示EPIC和后臺的Perl調(diào)試器之間的通信內(nèi)容。
Suspend debugger at first statement。此項目缺省是選中的,選中它會導(dǎo)致調(diào)試器在腳本的開始處停止,而不論該處是否有斷點。
如果不安裝PadWalker模塊也是可以使用調(diào)試器的,但是在這種情況下local variables 不會被顯示??梢詮腃PAN上下載PadWalker的最近版本并進(jìn)行安裝,例如使用Perl安裝中附帶的安裝管理器(ActiveState附帶的是Perl Package Manager)進(jìn)行安裝。
EPIC在進(jìn)行語法檢查時如果發(fā)現(xiàn)語法錯誤,那么會顯示錯誤或警告圖標(biāo)。如果右鍵單擊該圖標(biāo),并在彈出菜單中選擇Explain Errors/Warnings,那么在Explain Errors/Warnings view中會顯示具體的錯誤或警告信息。
如果安裝了ActivePerl,那么會同時安裝Perldoc。通過Perldoc可以查找相關(guān)的幫助文檔,例如在命令行上輸入 Perldoc -f use可以查看use的用法。如果在程序中選擇部分文本并單擊右鍵,并在彈出菜單中選擇Perldoc(如果沒有任何選中,那么會彈出一個輸入對話框),那么在Perldoc View中會顯示查找到的幫助文檔。
在Content Assist Preference 頁中可以指定代碼提示的觸發(fā)字符,通常不需要對其進(jìn)行修改,只要取消選中Inspect Variables即可關(guān)閉此功能。需要注意的是:目前Content Assist支持使用箭頭操作符的方法調(diào)用,例如:
- $smtp = Net::SMTP->new();
- $smtp->[content assist]
不支持間接對象的方法調(diào)用,例如:
- $smtp = new Net::SMTP;
- $smtp->[no content assist]
在Templates Preference 頁中可以創(chuàng)建、編輯或者刪除模版。例如在New Template對話框的Name文本框中輸入for,在Pattern中輸入for(${var} = 0; ${var} < ${max}; ${var}++) {}并單擊確定就新建了一個新的模版。在編寫程序時,輸入for并按下Alt+/之后(可以通過Window->Preferences->General->Keys配置),之前定義的模版會被插入到代碼中。按下TAB鍵可以切換模版中的用戶自定義變量(例如${var}和${max})。
在Task Tags Preference 頁中可以指定一系列用來在注釋中作為任務(wù)標(biāo)記的關(guān)鍵字,缺省有TODO 和TASK;EPIC 使用 PerlTidy 來格式化源碼,Source Formatter Preference頁用來指定PerlTidy的命令行參數(shù)。
3 Perl Project
推薦以核心Perl發(fā)布的慣例形式來組織你的工程:
將你自己的模塊保存在工程的某個子目錄中,例如在工程根目錄下建立一個lib目錄,用來保存所有*.pm文件。并將這個子目錄添加到@INC中。
將包名映射成子目錄名,例如將Foo::Bar包中的代碼保存在lib/Foo/Bar.pm文件中,并保證lib/Foo/Bar.pm中只包含F(xiàn)oo::Bar包中的代碼。
你自己的Perl腳本保存可以保存在工程中的任何目錄里,例如工程根目錄下的bin或者cgi-bin目錄。
在裝載一個包時,不要使用require,而是使用use,例如use Foo::Bar。
4 RegExp Plug-in
RegExp插件是個調(diào)試正則表達(dá)式的小工具,其打開方式如下:選擇菜單Window->Show View->Other,然后在彈出的Show View對話框中選擇EPIC節(jié)點下的RegExp。
如果在RegExp文本框中輸入正則表達(dá)式,在Match text文本框中輸入進(jìn)行匹配的文本,并單擊右側(cè)的Validate RegExp按鈕。如果表達(dá)式和文本匹配,那么會顯示綠色圖標(biāo);否則顯示紅色圖標(biāo)。如果表達(dá)式包含小括號,那么在Match text中與小括號部分匹配的文本會高亮顯示。
【編輯推薦】