栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

如何快速便捷为方法添加注释?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何快速便捷为方法添加注释?

开发过程中,需要对类和方法添加注释,类的注释比较好实现,通过设置模板,在创建时即可自动创建预设的注释。而为方法添加注释,则就没那么容易,最主要的影响在于参数的处理上。

对于IDEA,在接口的方法上方输入 Share get(String id);

当对于其他方法,按照上面操作,则只会创建一个简单的多行注释,无参数信息        

    
    public Share get(String id) {
        Share share=new Share();
        share.setId(id);
        share.setUserId("1");
        share.setTitle("我的分享");
        //使用Feign调用远程服务
        // UserDto userDto = userService.getUser("1");
        UserDto userDtoParam=new UserDto();
        userDtoParam.setId("2");
        UserDto userDto = userService.query(userDtoParam);

        String userName=userDto.getName();
        share.setUserName(userName);
        return share;
    }

那么,如何为任意方法生成模板化的注释,以提升开发效率呢?

对于IDEA,首先想到的是live template功能,可以自定义代码片段,通过自定义缩略语,快速完成,之前自己也配置过,参照以往经验,进行如下配置:

模板定义

 

变量定义

使用内置方法methodParameters来获取参数,实际运行结果是……

  
    public void get(String id,String name) {
     
        
    }

 发生了什么呢?实际并没有取到方法参数,通过搜索,发现很多人说,只有放到方法内部,才能获取到方法参数,再手工剪贴到方法体外……试了下,确实是这样,但是,这不是折腾吗?不提降低效率这事,就这么个操作法,这得多别扭。

于是,进一步找寻解决方案,发现有个关键问题,是模板中的/,会导致methodParameters方法失效,要求模板不能有/,然后出现了一种解决办法,即将

这时候,要求输入 Share get(String id,String name);

此外,网上也有不少人,说缩略词必须设置为*,并且说这样很巧妙,不过我实在看不出巧妙在哪,也试验过,缩略词任意,比如d,只要保证外部输如

 变量定义

groovyscript("if("${_1}".length() == 2) {return ' * ';} 
else 
{def result=''; 
def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList();
for(i = 0; i < params.size(); i++) {
result+=' * @param ' + params[i] + ((i < params.size() - 1) ? '\n':'')};  
return result;}", methodParameters());

这是自己进行反复调试后可实现最终期望结果的脚本,网上有很多,存在各种瑕疵,比如,对于无参数的方法,同样会生成一行 @param ,此外常见的还有生成空白行、错位等。

 使用时,只需输入/+ 缩略词+tab即可

    
   Share get(String id,String name);

此外,自己配置这个模板还是比较费劲,还有另外一种思路,使用idea插件,名字为Easy Javadoc,安装后,选中方法名,按快捷键ctrl+,可以直接生成方法注释,同时,进行翻译,效果如下。

    
    Share get(String id,String name);

这个插件有几个地方需要注意:

1.默认的热键ctrl+与idea内置的一个操作冲突,需要修改下快捷键设置

2.默认的翻译引擎是谷歌,可能因为被墙,并不能正常进行,可在设置里更换为百度翻译或有道翻译

3.对某个方法首次操作时,很大概率会弹出一个翻译确认框,点击确定后无任何事情发生,但对方法名任意修改后,又可以自动生成注释,并且改回去也没问题,有点诡异。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/680937.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号