Tools | Actions on Save
新版本 IDEA 支持设置保存时的动作,在 Preferences
下的 Tools | Actions on Save
中:
支持如下动作:
- Reformat code: 根据当前代码风格设置执行格式化代码动作,可设置生效的文件类型及范围(整个文件、变更部分)
- Optimize imports: 根据当前代码风格设置执行移除无用 import 及重新组织 import,可设置生效的文件类型
- Rearrange code: 根据当前代码风格设置执行代码重排序动作
- Run code cleanup: 批量应用代码修正建议
- Update copyright notice: 更新版权信息
- Run eslint –fix: (IntelliJ IDEA Ultimate) 修正 ESlint 检查的问题
- Run Prettier: 用 Prettier 格式化代码
- Upload to default server: (IntelliJ IDEA Ultimate) 上传修改的文件至默认的部署服务器
- Build project: 编译所有 class 文件
官方文档:https://www.jetbrains.com/help/idea/saving-and-reverting-changes.html#actions-on-save
Plugin: JavaDoc
JavaDoc 插件,可以用来根据方法名、参数名等信息,在代码中自动添加或移除 JavaDoc 注释。
- 插件地址:https://plugins.jetbrains.com/plugin/7157-javadoc
- 源码仓库:https://github.com/TSergey/intellij-javadocs
安装插件之后,可通过右键 Generate...
功能调出生成或移除 JavaDoc 的菜单点击使用,或直接使用对应快捷键操作:
可生成或移除选定元素的 JavaDoc,也可对文件中所有元素,乃至整个目录(在目录右键选择 JavaDoc 对应菜单,慎用)进行操作。
插件默认的配置在生成 JavaDoc 时会对已有的 JavaDoc 内容进行保留,不会覆盖掉手写的 JavaDoc 内容,只会补充缺失的部分。
以 StringUtil.java 为例,生成的 JavaDoc 内容如下:
@@ -4,6 +4,9 @@ import org.apache.commons.lang3.StringUtils;
import java.util.Locale;
+/**
+ * The type String util.
+ */
public class StringUtil extends StringUtils {
/**
@@ -12,6 +15,12 @@ public class StringUtil extends StringUtils {
private StringUtil() {
}
+ /**
+ * Camel to snake string.
+ *
+ * @param camel the camel
+ * @return the string
+ */
public static String camelToSnake(String camel) {
String[] strings = StringUtil.splitByCharacterTypeCamelCase(camel);
return StringUtil.join(strings, "_").toLowerCase(Locale.ENGLISH);
插件配置界面,支持进行基本配置及模板配置,可对生成的 JavaDoc 内容进行定制,详细可见 Javadoc-templates:
注释缩进
IDEA 里默认的注释方式是在行首添加双斜线,如:
public static String camelToSnake(String camel) {
// String[] strings = StringUtil.splitByCharacterTypeCamelCase(camel);
return StringUtil.join(strings, "_").toLowerCase(Locale.ENGLISH);
}
想调整为添加到首字符前,可双击 Shift
键,输入 line comment at first column
,调整对应语言的配置,如下图:
取消 Line comment at first column
后,再选中 Add a space at line comment start
,可得到如下风格的注释缩进:
public static String camelToSnake(String camel) {
// String[] strings = StringUtil.splitByCharacterTypeCamelCase(camel);
return StringUtil.join(strings, "_").toLowerCase(Locale.ENGLISH);
}