您的位置:首页 > 编程语言 > Python开发

Editplus借助python实现根据方法参数自动生成php注释

2013-01-15 21:00 1416 查看
一直喜欢editplus的简洁,高效, 尤其是它的目录搜索上,所以一直用它来写代码。

近段时间在看一本叫 《疯狂JAVA讲义》书,里面介绍了如何在editplus中集成 javac 和 java 命令, 在这里发现了editplus 另一个非常好用的功能—调用外部脚本
editplus自动生成注释就是基于这个功能的一个简单应用, 通过调用外部脚本, 把光标所在行的文本作为参数传入,在脚本中接收该参数进行参数匹配和处理,最终生成注释输出到editplus
首先下载python 2.7.3并安装(可到python官网下载)
Editplus 配置方法:
1. Tools-> configure user tools 打开如图所示窗口,并选择一个未使用的分组(group), 可点击Group Name 按纽修改分组名, 分组名随意




2. 点击add tool 添加外部程序, Menu text 随意, Command 填写 python Argument 填写 F:\dbank\tools\autocomment.py "$(CurLineText)" 目录修改为你的脚本的绝对路径 Action 修改为如图所示



3. 点击ok 完成配置

下面是使用方法:
用editplus 随意打开你的一个php 类 , tools->user tool group 选择刚才配置的组
然后将光标定位到 方法 名称所在行 如下图



然后按下 ctrl + 1 , 你将会看到自动生成的注释,如下图所示


备注: 本人写的 python 生成注释的脚本程序 autocomment.py 见附件, 目前只支持自动生成php程序的注释 懂python的可自行修改该脚本或用自己的脚本替代

autocomment.py 代码如下:

#coding=gbk
#自动注释
import sys
import re

def main():
funstr = get_funstr()
pname_list = parse_params(funstr)
pname_maxlen = max_len(pname_list)

a = []
for i in pname_list:
filllen = pname_maxlen-len(i)
a.append( '      * @param type '+ i + ' '*filllen +' desc' )

print '    /**'
print '      * desc'
print '      *'
if len(a)>0:
print "\r\n".join(a)
print '      *'
print '      * @return type'
print '      */'

def parse_params(fstr):
p = re.compile( r'\((.*)\)' )
arr = p.findall( fstr )
param = arr[0].strip()
params = param.split(',')
a = []
for pa in params:
pname = pa.strip().split('=')[0].strip()
if pname!='':
a.append( pname ) # '      * @param type '++' desc' )
return a

def max_len(ls):
m=0
for i in ls:
ilen = len(i)
if m<ilen:
m=ilen
return m

def get_funstr():
args = sys.argv
if(len(args)>1):
funstr = args[1]
return funstr
else:
return "public function queryQuestionList($a,$b,$c)"

if __name__=="__main__":
main()


本文出自 “五光十色” 博客,请务必保留此出处http://wgssy.blog.51cto.com/2138559/1119044
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: