浅谈配置Eclipse支持Perl脚本开发

开发 后端
本文将介绍如何配置Eclipse支持Perl脚本开发,这里推荐大家以核心Perl发布的惯例形式来组织你的工程。

1 Installation

EPIC(Eclipse Perl Integration)是一个基于Eclipse平台的开源Perl集成开发环境。其支持的功能有语法高亮、语法检查、代码提示、Perldoc支持、模版、Perl调试器和正则表达式插件等。

在安装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,单击完成。按照向导的指示完成后续的过程,忽略途中提示的未经签名的警告。重启Eclipse后,EPIC应该已经安装完毕了。

如果要暂时禁用或者卸载EPIC,选择菜单Help->Software and Updates->Manage Configuration,展开弹出对话框左侧的树控件,选中当前版本的EPIC并单击右键,在弹出菜单中选择禁用或者卸载。

2 Setting Up Preferences

选择菜单Window->Preferences,在弹出的Preferences对话框左侧的树控件中选择Perl EPIC以打开Perl EPIC General Preferences页。这个页中包含了Perl解释器的路径、解释器的类型以及其他选项等。

关于解释器的类型,除了standard之外,还可以选择Cygwin。如果选择Cygwin,那么@INC数组的内容会有所变化。至于@INC数组,当使用use ModuleName来装载模块时,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,在弹出的对话框中选择Perl Include Path,然后就可以向@INC中添加项目。如果没有指定绝对路径,那么这个路径是相对于工程目录的。可以使用标准的Eclipse变量,例如${project_loc}。

关于调试器相关的设置有以下两个:

Enable debugger console。这个选择只是在你希望调试EPIC自身的时候有用,在其它情况下不要使用。在调试的时候,一个特殊的控制台(单击Debug View中的perl –d项目以显示此控制台)会显示EPIC和后台的Perl调试器之间的通信内容。

Suspend debugger at first statement。此项目缺省是选中的,选中它会导致调试器在脚本的开始处停止,而不论该处是否有断点。

如果不安装PadWalker模块也是可以使用调试器的,但是在这种情况下local variables 不会被显示。可以从CPAN上下载PadWalker的最近版本并进行安装,例如使用Perl安装中附带的安装管理器(ActiveState附带的是Perl Package Manager)进行安装。

EPIC在进行语法检查时如果发现语法错误,那么会显示错误或警告图标。如果右键单击该图标,并在弹出菜单中选择Explain Errors/Warnings,那么在Explain Errors/Warnings view中会显示具体的错误或警告信息。

如果安装了ActivePerl,那么会同时安装Perldoc。通过Perldoc可以查找相关的帮助文档,例如在命令行上输入 Perldoc -f use可以查看use的用法。如果在程序中选择部分文本并单击右键,并在弹出菜单中选择Perldoc(如果没有任何选中,那么会弹出一个输入对话框),那么在Perldoc View中会显示查找到的帮助文档。

在Content Assist Preference 页中可以指定代码提示的触发字符,通常不需要对其进行修改,只要取消选中Inspect Variables即可关闭此功能。需要注意的是:目前Content Assist支持使用箭头操作符的方法调用,例如:

  1. $smtp = Net::SMTP->new();  
  2. $smtp->[content assist] 

不支持间接对象的方法调用,例如:

  1. $smtp = new Net::SMTP;  
  2. $smtp->[no content assist] 

在Templates Preference 页中可以创建、编辑或者删除模版。例如在New Template对话框的Name文本框中输入for,在Pattern中输入for(${var} = 0; ${var} < ${max}; ${var}++) {}并单击确定就新建了一个新的模版。在编写程序时,输入for并按下Alt+/之后(可以通过Window->Preferences->General->Keys配置),之前定义的模版会被插入到代码中。按下TAB键可以切换模版中的用户自定义变量(例如${var}和${max})。

在Task Tags Preference 页中可以指定一系列用来在注释中作为任务标记的关键字,缺省有TODO 和TASK;EPIC 使用 PerlTidy 来格式化源码,Source Formatter Preference页用来指定PerlTidy的命令行参数。

3 Perl Project

推荐以核心Perl发布的惯例形式来组织你的工程:

将你自己的模块保存在工程的某个子目录中,例如在工程根目录下建立一个lib目录,用来保存所有*.pm文件。并将这个子目录添加到@INC中。

将包名映射成子目录名,例如将Foo::Bar包中的代码保存在lib/Foo/Bar.pm文件中,并保证lib/Foo/Bar.pm中只包含Foo::Bar包中的代码。

你自己的Perl脚本保存可以保存在工程中的任何目录里,例如工程根目录下的bin或者cgi-bin目录。
在装载一个包时,不要使用require,而是使用use,例如use Foo::Bar。

4 RegExp Plug-in

RegExp插件是个调试正则表达式的小工具,其打开方式如下:选择菜单Window->Show View->Other,然后在弹出的Show View对话框中选择EPIC节点下的RegExp。

如果在RegExp文本框中输入正则表达式,在Match text文本框中输入进行匹配的文本,并单击右侧的Validate RegExp按钮。如果表达式和文本匹配,那么会显示绿色图标;否则显示红色图标。如果表达式包含小括号,那么在Match text中与小括号部分匹配的文本会高亮显示。

【编辑推荐】

  1. MyEclipse+JBoss配置
  2. MyEclipse+Weblogic开发EJB组件
  3. Eclipse NetBeans MyEclipse Lomboz 字体设置通用参考
  4. 详解Eclipse+MyEclipse完全绿色版制作方法
  5. MyEclipse配置WebService
责任编辑:彭凡 来源: boyun.sh.cn
相关推荐

2010-07-23 13:29:12

Perl脚本

2010-07-22 08:42:04

Eclipse平台中P

2010-07-21 13:11:34

Eclipse Per

2012-06-05 01:23:14

Ubuntueclipse

2015-10-16 13:30:59

EclipsePython开发环境

2012-03-26 09:44:32

安卓开发配置Eclipse

2010-07-26 13:39:53

Perl开发环境

2015-09-21 17:48:12

APICloudSublimeapicloud

2010-07-20 10:58:39

Perl脚本

2009-09-22 17:38:25

Jobs框架

2015-10-23 10:23:26

大数据向量机

2010-05-12 16:24:32

Black Berry

2009-06-10 16:38:24

EclipsePydevDjango

2010-07-26 16:28:40

Perl开发环境

2011-01-14 10:52:17

Linux PPCEclipseC

2009-06-23 16:47:54

JBoss停止服务

2010-11-22 09:36:37

Perl脚本SolarisLinux

2010-09-16 16:02:26

PPPoA配置

2009-07-06 15:58:11

JSP程序

2010-07-13 16:00:59

Perl开发环境
点赞
收藏

51CTO技术栈公众号