Eclipse平臺中Perl腳本開發
本文主要和大家學習一下Eclipse平臺中Perl腳本開發方面的知識,EPIC(EclipsePerlIntegration)是一個基于Eclipse平臺的開源Perl集成開發環境。其支持的功能有語法高亮、語法檢查、代碼提示、Perldoc支持、模版、Perl調試器和正則表達式插件等。
Eclipse平臺中Perl腳本開發
1、Installation
EPIC(EclipsePerlIntegration)是一個基于Eclipse平臺的開源Perl集成開發環境。其支持的功能有語法高亮、語法檢查、代碼提示、Perldoc支持、模版、Perl調試器和正則表達式插件等。
在安裝EPIC之前需要安裝Eclipse3.1以上版本,此外還需要安裝Perl解釋器(Unix和Linux平臺通常會缺省安裝Perl,Windows平臺上可以安裝ActivePerl,下載地址www.activestate.com)。
可以通過EclipseUpdateManager來安裝EPIC。選擇菜單Help->SoftwareandUpdates->FindandInstall,在彈出的Install/Update對話框中選擇Searchfornewfeaturestoinstall然后單擊下一步,在彈出的Install對話框中單擊NewRemoteSite,在彈出的對話框中輸入Name(例如EPIC)和URL(http://e-p-i-c.sf.net/updates)然后單擊確定。接下來在Install對話框中選中剛才新建的Site,單擊完成。按照向導的指示完成后續的過程,忽略途中提示的未經簽名的警告。重啟Eclipse后,EPIC應該已經安裝完畢了。
如果要暫時禁用或者卸載EPIC,選擇菜單Help->SoftwareandUpdates->ManageConfiguration,展開彈出對話框左側的樹控件,選中當前版本的EPIC并單擊右鍵,在彈出菜單中選擇禁用或者卸載。
2、SettingUpPreferences
選擇菜單Window->Preferences,在彈出的Preferences對話框左側的樹控件中選擇PerlEPIC以打開PerlEPICGeneralPreferences頁。這個頁中包含了Perl解釋器的路徑、解釋器的類型以及其他選項等。
關于解釋器的類型,除了standard之外,還可以選擇Cygwin。如果選擇Cygwin,那么@INC數組的內容會有所變化。至于@INC數組,當使用useModuleName來裝載模塊時,Eclipse平臺中Perl會在@INC數組中列出的每一個目錄中查找模塊。因為use是在編譯時裝載模塊,所以任何對@INC的修改都需要在編譯時發生。可以通過BEGIN塊在編譯時向@INC中添加值,例如BEGIN{push@INC,‘/path’}。@INC通常包含(假設Perl安裝在/Perl):/Perl/lib/Perl/site/lib.。核心模塊是安裝在”Perl/lib”目錄中,非核心模塊安裝在”Perl/site/lib”目錄中,”.”這個目錄表示當前的工作目錄。
在Eclipse中選中Perl工程,選擇Project->Properties,在彈出的對話框中選擇PerlIncludePath,然后就可以向@INC中添加項目。如果沒有指定絕對路徑,那么這個路徑是相對于工程目錄的。可以使用標準的Eclipse變量,例如${project_loc}。
關于調試器相關的設置有以下兩個:
Enabledebuggerconsole。這個選擇只是在你希望調試EPIC自身的時候有用,在其它情況下不要使用。在調試的時候,一個特殊的控制臺(單擊DebugView中的Perl–d項目以顯示此控制臺)會顯示EPIC和后臺的Perl調試器之間的通信內容。
Suspenddebuggeratfirststatement。此項目缺省是選中的,選中它會導致調試器在腳本的開始處停止,而不論該處是否有斷點。
如果不安裝PadWalker模塊也是可以使用調試器的,但是在這種情況下localvariables不會被顯示。可以從CPAN上下載PadWalker的最近版本并進行安裝,例如使用Perl安裝中附帶的安裝管理器(ActiveState附帶的是PerlPackageManager)進行安裝。
EPIC在進行語法檢查時如果發現語法錯誤,那么會顯示錯誤或警告圖標。如果右鍵單擊該圖標,并在彈出菜單中選擇ExplainErrors/Warnings,那么在ExplainErrors/Warningsview中會顯示具體的錯誤或警告信息。
如果安裝了ActivePerl,那么會同時安裝Perldoc。通過Perldoc可以查找相關的幫助文檔,例如在命令行上輸入Perldoc-fuse可以查看use的用法。如果在程序中選擇部分文本并單擊右鍵,并在彈出菜單中選擇Perldoc(如果沒有任何選中,那么會彈出一個輸入對話框),那么在PerldocView中會顯示查找到的幫助文檔。
在ContentAssistPreference頁中可以指定代碼提示的觸發字符,通常不需要對其進行修改,只要取消選中InspectVariables即可關閉此功能。需要注意的是:目前ContentAssist支持使用箭頭操作符的方法調用,例如:
- $smtp=Net::SMTP->new();
- $smtp->[contentassist]
不支持間接對象的方法調用,例如:
- $smtp=newNet::SMTP;
- $smtp->[nocontentassist]
在TemplatesPreference頁中可以創建、編輯或者刪除模版。例如在NewTemplate對話框的Name文本框中輸入for,在Pattern中輸入for(${var}=0;${var}<${max};${var}++){}并單擊確定就新建了一個新的模版。在編寫程序時,輸入for并按下Alt+/之后(可以通過Window->Preferences->General->Keys配置),之前定義的模版會被插入到代碼中。按下TAB鍵可以切換模版中的用戶自定義變量(例如${var}和${max})。
在TaskTagsPreference頁中可以指定一系列用來在注釋中作為任務標記的關鍵字,缺省有TODO和TASK;EPIC使用PerlTidy來格式化源碼,SourceFormatterPreference頁用來指定PerlTidy的命令行參數。
3、PerlProject
推薦以核心Eclipse平臺中Perl發布的慣例形式來組織你的工程:
將你自己的模塊保存在工程的某個子目錄中,例如在工程根目錄下建立一個lib目錄,用來保存所有*.pm文件。并將這個子目錄添加到@INC中。
將包名映射成子目錄名,例如將Foo::Bar包中的代碼保存在lib/Foo/Bar.pm文件中,并保證lib/Foo/Bar.pm中只包含Foo::Bar包中的代碼。
你自己的Perl腳本保存可以保存在工程中的任何目錄里,例如工程根目錄下的bin或者cgi-bin目錄。
在裝載一個包時,不要使用require,而是使用use,例如useFoo::Bar。
4、RegExpPlug-in
RegExp插件是個調試正則表達式的小工具,其打開方式如下:選擇菜單Window->ShowView->Other,然后在彈出的ShowView對話框中選擇EPIC節點下的RegExp。
如果在RegExp文本框中輸入正則表達式,在Matchtext文本框中輸入進行匹配的文本,并單擊右側的ValidateRegExp按鈕。如果表達式和文本匹配,那么會顯示綠色圖標;否則顯示紅色圖標。如果表達式包含小括號,那么在Matchtext中與小括號部分匹配的文本會高亮顯示。
相關鏈接:http://www.eclipse-plugins.info/eclipse/plugin_details.jsp;jsessionid=160B364C4FEB9349656900C967693C0D?id=281www.eclipse.org
【編輯推薦】