Editplus实现根据方法声明自动生成php注释

by pxz


发布于: 2013-01-15 所属分类: 工具 标签:  197


<p>一直喜欢editplus的简洁,高效,尤其是它的目录搜索上,所以一直用它来写代码。</p> <p>近段时间在看一本叫《疯狂JAVA讲义》书,里面介绍了如何在editplus中集成 javac 和 java 命令<br>在这里发现了editplus 另一个非常好用的功能—调用外部脚本</p> <p>editplus自动生成注释就是基于这个功能的一个简单应用, 通过调用外部脚本, 把光标所在行的文<br>本作为参数传入,在脚本中接收该参数进行参数匹配和处理,最终生成注释输出到editplus</p> <h3 id="h3--autocomment-exe"><a name="实现方法一: 使用程序 autocomment.exe" class="reference-link"></a><span class="header-link octicon octicon-link"></span>实现方法一: 使用程序 autocomment.exe</h3><p>首先下载 autocomment.exe 程序放到c盘根目录, <a href="http://www.sgzhang.com/uploads/2013/01/autocomment.exe" target="_blank">点此下载</a></p> <p>配置Editplus, 方法如下:</p> <p><strong>1 . Tools-> configure user tools 打开如图所示窗口,并选择一个未使用的分组(group), 可点击Group Name 按纽修改分组名, 分组名随意</strong></p> <p><img src="http://www.sgzhang.com/uploads/2014/10/editplus_01.png" alt=""></p> <p><strong>2 . 点击add tool 添加外部程序, Menu text 随意, Command 填写 C:\autocomment.exe Argument 填写 “$(CurLineText)” Action 修改为Run as Text Filter(insert) 如图所示</strong></p> <p><img src="http://www.sgzhang.com/uploads/2013/01/editplus_11.png" alt=""></p> <p><strong>3 . 点击ok 完成配置</strong></p> <h3 id="h3--python-"><a name="实现方法二:使用python脚本" class="reference-link"></a><span class="header-link octicon octicon-link"></span>实现方法二:使用python脚本</h3><p>首先下载python 2.7.3并安装(可到python官网下载)</p> <p>然后配置Editplus, 方法如下:</p> <p><strong>1. Tools-> configure user tools 打开如图所示窗口,并选择一个未使用的分组(group), 可点击Group Name 按纽修改分组名, 分组名随意</strong></p> <p><img src="http://www.sgzhang.com/uploads/2014/10/editplus_01.png" alt=""></p> <p><strong>2. 点击add tool 添加外部程序, Menu text 随意, Command 填写 python Argument 填写</strong></p> <p> F:\dbank\tools\autocomment.py “$(CurLineText)”<br>目录修改为你的autocomment.py脚本的绝对路径 Action 修改为如图所示</p> <p><img src="http://www.sgzhang.com/uploads/2014/10/editplus_02.png" alt=""></p> <p><strong>3. 点击ok 完成配置</strong></p> <h3 id="h3--"><a name="下面是使用方法:" class="reference-link"></a><span class="header-link octicon octicon-link"></span>下面是使用方法:</h3><p>用editplus 随意打开你的一个php 类 ,tools->user tool group 选择刚才配置的组<br>然后将光标定位到方法声明所在行 如下图</p> <p><img src="http://www.sgzhang.com/uploads/2014/10/editplus_03.png" alt=""></p> <p>然后按下 ctrl + 1 , 你将会看到自动生成的注释,如下图所示</p> <p><img src="http://www.sgzhang.com/uploads/2014/10/editplus_04.png" alt=""></p> <h3 id="h3--autocomment-"><a name="附上autocomment源码如下" class="reference-link"></a><span class="header-link octicon octicon-link"></span>附上autocomment源码如下</h3><p>1 . autocomment.exe 源码见 <a href="https://github.com/hubsgz/editplus-autocomment" target="_blank">https://github.com/hubsgz/editplus-autocomment</a></p> <p>2 . python 生成注释的脚本程序, 目前只支持自动生成php程序的注释, 懂python的可自行修改该脚本或用自己的脚本替代</p> <pre><code>#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() </code></pre>

发表评论

暂无评论

搜索
用户登陆