IntelliJ重构:关闭/自定义提取方法时的@NotNull注解生成
解决IntelliJ提取方法时自动生成@NotNull注解的问题
我之前也碰到过一模一样的问题,IntelliJ默认自带的JetBrains注解要么找不到依赖编译报错,要么就是不想引入第三方特定注解,确实挺烦人的。下面给你两种针对性的解决方案:
一、完全关闭自动生成@NotNull注解
按照以下步骤操作就能彻底关掉这个自动添加的逻辑:
- 打开IntelliJ的设置面板:Windows/Linux用快捷键
Ctrl+Alt+S,Mac用Cmd+,,或者通过菜单栏(File→Settings / IntelliJ IDEA→Preferences)打开 - 导航到 Editor > Code Style > Java,切换到 Code Generation 标签页
- 找到 Nullable/NotNull annotations 这个区域
- 在 Default annotation for methods 和 Default annotation for parameters 这两个下拉菜单里,都选择 Do not add
- 最后点击Apply和OK保存设置,之后提取方法就不会自动加任何@NotNull注解了
另外保险起见,你可以再检查一下Inspections的设置,防止其他场景自动添加:
- 同样在设置面板里,导航到 Editor > Inspections > Java > Probable Bugs > @NotNull/@Nullable problems
- 取消勾选"Annotate methods and parameters in code generation actions"这个选项,再保存设置
二、自定义替换为你需要的@NotNull注解(比如javax.validation.constraints.NotNull)
如果想让IntelliJ自动生成你项目里已有的@NotNull注解,比如javax.validation.constraints.NotNull,可以这么设置:
- 打开设置面板,同样导航到 Editor > Code Style > Java > Code Generation 标签页
- 在 Nullable/NotNull annotations 区域,点击右侧的 Configure annotations 按钮
- 在弹出的配置窗口里,点击 Add 按钮,输入你想要的注解全类名(比如
javax.validation.constraints.NotNull),然后勾选它适用的场景(方法、参数、字段) - 点击OK回到Code Generation页面,把 Default annotation for methods 和 Default annotation for parameters 的下拉选项改成你刚添加的
javax.validation.constraints.NotNull - 保存设置后,下次提取方法时,IntelliJ就会自动生成你指定的注解了
内容的提问来源于stack exchange,提问作者Martin Mucha
相关产品推荐
相关产品推荐

