光标必须紧贴方法、类或字段声明正上方(空行或顶格)时输入/**再按enter,idea才解析签名生成含@param/@return等的javadoc;在方法体内或下方则仅生成普通块注释。

光标放哪儿才能触发自动 Javadoc 生成
只有光标紧贴在方法、类或字段声明的正上方(空行或直接顶格),输入 /** 后按 Enter,IDEA 才会识别并补全参数、返回值、异常等结构。如果光标在方法体内、花括号里或方法下方,只会生成普通多行注释 /* ... */,不会解析签名。
- 构造方法、
@Override方法、接口默认方法同样适用该规则 - 字段上使用
/**+Enter,会生成简要描述 +@see(若字段有 getter/setter) - 光标在注释内部再按
Enter,可能触发换行而非新注释——这不是 bug,是预期行为
Windows/macOS 下快捷键不一致但逻辑统一
系统差异只影响修饰键,核心动作一致:触发文档注释生成靠的是「输入 /** 后回车」,不是全局快捷键绑定。所谓「快捷键」其实是编辑器对特定输入模式的响应。
- Windows:光标就位 → 输入
/**→ 按Enter - macOS:光标就位 → 输入
/**→ 按Enter(不是Cmd + \,那是 Easy Javadoc 插件的专属快捷键) -
Ctrl + /(Win)或Cmd + /(Mac)只处理行注释,跟 Javadoc 无关 -
Ctrl + Shift + /(Win)或Cmd + Shift + /(Mac)只处理块注释,也不生成 Javadoc
模板变量失效的常见原因
自定义 Live Template 时,methodParameters() 或 methodReturnType() 返回空,往往不是模板写错,而是上下文没匹配上。
- 模板必须应用在
Java语言上下文中(检查模板设置里的Java勾选状态) - 模板缩写不能以
/开头(比如用/*mydoc触发,会导致变量表达式不执行) -
methodParameters()只在光标位于方法声明行上方时有效;放在类体里或字段上会返回空字符串 - 用了 Lombok 注解(如
@Getter)但未启用注解处理器,IDEA 无法推断字段语义,fieldType()等变量也会失效
插件生成 vs 原生生成:别混用同一位置
Easy Javadoc 插件和 IDEA 原生 /** + Enter 都能生成文档注释,但底层机制不同。在同一方法上反复触发两者,容易导致嵌套注释或格式错乱。
- 原生方式依赖语法树分析,稳定但功能简单
- 插件依赖 AST + 外部翻译服务,支持批量、翻译、Kotlin,但需网络且配置项多
- 如果已装 Easy Javadoc,建议关闭其「自动插入」选项,避免和原生行为冲突
- 真正容易被忽略的是:插件生成的注释里含中文参数名时,Javadoc 工具可能报
warning - @param argument "用户名" is not a parameter name—— 这不是插件问题,是 JDK javadoc 的硬性限制











