首页 > 其他分享 >Intellij IDE 修改默认类和方法注释格式

Intellij IDE 修改默认类和方法注释格式

时间:2023-12-20 10:48:13浏览次数:32  
标签:Intellij 自定义 配置 默认 注释 修改 File IDE

修改创建类时的默认注释

第一步:按菜单路径[File->Settings->Editor->File and Code Templates]找到默认配置

image

第二步:修改JAVA类、接口、枚举的注释,因为三者注释相似,所以直接关联到同一套注释配置【File Header.java】,所以直接修改includes页面下File Header.java中的配置即可

image
image

第三步:测试,直接创建类文件,若定义的时系统自由变量,则直接填充,若不是系统内部变量,则在创建类文件时会弹出提示框,让用户填写。

image
image

代码如下

类注释配置
/**
 * TODO ${Description}
 *
 * @author chenshuangjian
 * @date ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}:${SECOND}
 * @since 0.0.1
 */

修改方法默认注释

第一步:按照路径【File->Settings->Live Templates】找到配置界面

image

第二步:添加自定义配置组

image

第三步:在自定义配置组中添加方法注释,且名字只能是*,否则无法覆盖IDE默认的方法注释

image

第四步:编辑方法注释配置

image

第一点:Abbreviation必须为*,否则无法覆盖默认的方法配置

第二点:编辑注释模板,第一行只有一个*,否则显示的注释会出现多余内容

第三点:关联参数:

1、默认的获取参数名表达式显示的参数名在一行,需要自定义编写表达式显示多行参数名

image

完整方法注释模板,可直接复制到IDEA
<template name="*" value="*&#10; * TODO&#10; $param$&#10; * @return $return$    &#10; * @author $user$&#10; * @date $date$&#10; */" shortcut="ENTER" description="方法注释" toReformat="true" toShortenFQNames="true">
  <variable name="param" expression="groovyScript(&quot;if(\&quot;${_1}\&quot;.length() == 2) {return '';} else {def result='\\n'; def params=\&quot;${_1}\&quot;.replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i &lt; params.size(); i++) {result+=' * @param ' + params[i] + ((i &lt; params.size() - 1) ? '\\n' : '')}; return result}&quot;, methodParameters())  " defaultValue="" alwaysStopAt="true" />
  <variable name="return" expression="methodReturnType()" defaultValue="" alwaysStopAt="true" />
  <variable name="user" expression="user()" defaultValue="" alwaysStopAt="true" />
  <variable name="date" expression="date(&quot;yyyy-MM-dd HH:mm:ss&quot;)" defaultValue="" alwaysStopAt="true" />
  <context>
    <option name="JAVA_CODE" value="true" />
  </context>
</template>
注释模板
*
 * TODO
 $param$
 * @return $return$    
 * @author $user$
 * @date $date$
 */

自定义参数多行表达式
groovyScript("if(\"${_1}\".length() == 2) {return '';} else {def result='\\n'; 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()) 
#### 2、时间表达式的显示格式和JAVA中的时间类型一样,可以使用格式化字符串显示

image

第四点:修改Options为Enter键触发注释

image

第五点:修改配置作用域

image

第五步:测试,在方法上方输入/** 按Enter键触发注释,效果如下

image

标签:Intellij,自定义,配置,默认,注释,修改,File,IDE
From: https://www.cnblogs.com/chenshuangjian/p/17915937.html

相关文章

  • 喜报:Ubuntu等系统下Jetrbrains IDE(IDEA、PyCharm等)fcitx/ibus输入问题已经被修复
    在该Issue被提出超过10年后,终于在2023.3RC2版本中修复了这个问题。RC2不是正式版,有需要的可以手动更新到2023.3RC2版本。https://youtrack.jetbrains.com/issue/JBR-2460/Wrong-position-of-input-window-and-no-input-preview-with-fcitx-and-ubuntu-13.04该bug的表现:在Ubunt......
  • 这款IDEA插件确实爱了,免费
    IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天给大家介绍一款IDEA插件:Apipost-Helper-2.0。代码写完直接编辑器内调试、还支持生成接口文档、接......
  • 这款IDEA插件确实爱了,免费
    IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天给大家介绍一款IDEA插件:Apipost-Helper-2.0。代码写完直接编辑器内调试、还支持生成接口文档、......
  • 无涯教程-Java - IdentityHashMap 类函数
    以下是IdentityHashMap支持的构造函数的列表。Sr.No.Constructor&Remark1IdentityHashMap()该构造函数构造一个新的,空的哈希,其默认预期最大大小为(21)。2IdentityHashMap(intExpectedMaxSize)此构造函数使用指定的预期最大大小构造一个新的空IdentityHashMap。......
  • IDE之VS:Visual Studio的简介(包括 VS2013、VS2015、VS2017、VS2019、VS2022)、安装、
    原文链接:https://blog.csdn.net/qq_41185868/article/details/81052119最近开始使用vs2019,应该是最新的版本。之前都是vs2015,感觉19更智能,兼容性更好,速度也更快。详细了解下这几个版本。1、简介:MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品,功能完备的I......
  • C++基础 -9- 函数的默认参数
     ———————函数的默认参数——————— ......
  • BigdataAIML-ML-Models for machine learning Explore the ideas behind machine lear
    最好的机器学习教程系列:https://developer.ibm.com/articles/cc-models-machine-learning/ByM.TimJones,PublishedDecember4,2017ModelsformachinelearningAlgorithmsusedinmachinelearningfallroughlyintothreecategories:supervised,unsupervised,and......
  • ABP模块的测试项目从默认的Microsoft SQL Server替换成MySQL
    1、替换项目引用2、重新生成解决方案3、删除Migrations4、模块的引用替换成:AbpEntityFrameworkCoreMySQLModule5、命名空间替换成:Volo.Abp.EntityFrameworkCore.MySQL;6、ConfigureServices中的修改替换成:UseMySQL();7、DbContext中的修改替换成:UseMySql(configuration.GetConnect......
  • Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel C
    Real-TimeSingleImageandVideoSuper-ResolutionUsinganEfficientSub-PixelConvolutionalNeuralNetwork*Authors:[[WenzheShi]],[[JoseCaballero]],[[FerencHuszar]],[[JohannesTotz]],[[AndrewP.Aitken]],[[RobBishop]],[[DanielRueckert]],[[Z......
  • Scale-Prior Deformable Convolution for Exemplar-Guided Class-Agnostic Counting
    Scale-PriorDeformableConvolutionforExemplar-GuidedClass-AgnosticCounting初读印象comment::(计数用的一个网络)提出了一个标度优先的可变形卷积,将典范的信息,例如标度,整合到计数网络主干中。动机本文考虑的是类别无关的计数,其中计数模型预测由一组查询图像中的少数......