不错,简单,能用。 不过我这里一般这样声明函数:
virtual int funcName(xxx xxx,
xxx xxxx,
xxxx* xxxx);
函数声明会有多行,这时候这个插件不能正常工作。
再就是生成的函数定义里面的返回值感觉不是很爽,像刚才那个函数里面会有个return int(), 而且不带缩进,感觉不是很实用
我留改了一下,主要加了个处理函数多行声明的功能:
2,4c2
< let a:curline = line(".")
< let a:lines = getline(a:curline, search(';'))
< let a:ln = join(a:lines, "\n")
---
> let a:ln = getline(".")
9d6
<
14c11
< let a:fname = substitute(a:ln, '\([a-zA-Z]\+\s\+\)*\(.*\)', '\1'.a:class.'::\2', '')
---
> let a:fname = substitute(a:ln, '\([a-zA-Z]\+\s\+\)*\(.*\)', '\1'.a:class.'::\2', '')
16c13
< endif
---
> endif
22c19
< let a:datas += split(a:ln, "\n")
---
> let a:datas = add(a:datas, a:ln)
23a21,24
> let a:type = substitute(a:ln, '\([a-zA-Z]\+\)\s\+.*', 'return \1();', '')
> if a:type != a:ln
> let a:datas = add(a:datas, a:type)
> endif
27c28
< " execute 'e '.a:cppname
---
> execute 'e '.a:cppname
回复 更多评论