gpt4 book ai didi

java - 在 IntelliJ 中自定义 `Code` > `Generate` > `Constructor`

转载 作者:搜寻专家 更新时间:2023-11-01 03:17:11 24 4
gpt4 key购买 nike

我想在选择 Code > Generate > Constructor 时自定义 IntelliJ 2017.2 生成的参数的命名:

  • 将它们标记为final
  • Arg 附加到每个变量名称的末尾。
    例如,firstNameArg & lastNameArg 而不是 firstName & 姓氏
  • @NotNull 注释每个参数。

有没有办法自定义生成构造函数代码?

这个问题,Customizing of code generation in IntelliJ IDEA , 类似,但 (a) 不引用构造函数,并且 (b) 可能已过时。

最佳答案

我认为 IntelliJ 不提供这种 OOTB。你也许可以使用 Live Template通过 Preferences > Editor > Live Templates

模板文本:

private final $parameterType$ $parameterName$;

public $constructorClass$(final $parameterType$ $parameterName$$parameterNameSuffix$){
this.$parameterName$ = $parameterName$$parameterNameSuffix$;
}

将实时模板的“适用性”更改为:

  • Java > 声明
  • Java > 智能类型完成

点击 Edit variables 并设置与每个变量关联的 Expression,如下所示:

  • 参数类型:completeSmart()
  • 参数名:建议变量名()
  • 构造函数类:类名()
  • 参数名称后缀:驼峰式(字符串)

这里有一些截图展示了它的实际效果:

enter image description here

enter image description here

enter image description here

enter image description here

但是,这种方法有一些注意事项(其中一些可能会破坏您的用例):

  • 它不能应用于预先存在的类,即它不能询问一个类,找到它的成员并从中生成构造函数。相反,它是一种触发类成员声明的方式,它会在您声明类成员时即时创建构造函数。
  • 如果您希望它支持多个类成员/构造函数参数,那么您可能必须为单个 arg 构造函数创建一个实时模板,然后将其复制到两个参数构造函数和三个参数构造函数等.

关于java - 在 IntelliJ 中自定义 `Code` > `Generate` > `Constructor`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45805187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com