【问题标题】:Eclipse comment auto-generationEclipse 注释自动生成
【发布时间】:2016-05-05 04:15:44
【问题描述】:

对于编程课程,我需要将 cmets 放在每个类和方法中,描述以下五件事:方法字段字段上的方法参数参数方法。前三个直接放在类标题下,后两个特定于每个方法。

下面是这些 cmets 应该是什么样子的示例。

class ConsLoString implements ILoString {
    /*
     * Methods:
     * - String convertToString();
     * - String formatString();
     * Fields:
     * - String first;
     * - ILoString rest
     * Methods on fields:
     * - All String methods
     * - All ILoString methods
     */

    String first;
    ILoString rest;

    ...

当然,为一个大文件中的每个类和方法都输入所有这些是乏味和多余的。有没有办法在 Eclipse 或其他方式中自动生成这些?

我查看了 Eclipse 的 Java Editor Template Variables,但似乎没有办法在 Eclipse 的模板编辑器中遍历类中的每个方法/字段。

非常感谢任何帮助!

【问题讨论】:

  • 赞成你的问题,反对你课程中的这个要求。回击他们,向他们展示 javadoc 应该如何工作。如果您正确使用 javadoc,您将获得正确的摘要,而无需维护您的编程课程对您的要求。在“真实”世界中,我会非常警惕任何需要这种 Java 文档样式的公司。

标签: java eclipse comments


【解决方案1】:

在 Eclipse 中,转到 Window ->Preferences -> Java -> Code style -> Code Templates 在右侧,单击代码样式以展开,单击方法 - 并在底部选中复选框:自动为新方法和类型添加 cmets。您也可以对字段执行相同操作。

我在任何地方都没有看到您尝试记录 java 类的方式。但如果这是您想要的:请参阅 this,然后搜索 java ClassSpy ClassMember FIELD METHOD。您可以直接从该链接获取 ClassSpy.java 类,编译它并执行 ClassSpy.class,如:java ClassSpy ConsLoString FIELD METHOD - 它会打印字段、方法作为输出。复制输出并以任何你想要的方式使用它。

【讨论】:

  • 使用此方法,我无法遍历给定类/接口中的方法和字段列表,我需要这样做。例如,我只能获取封闭类型名称或文件名。
  • 迭代方法、字段列表是什么意思?请在帖子中明确您想要什么。
  • 在我帖子的示例中,注释块显示了类ConsLoString 中所有字段和方法的列表。我需要检索每个字段和方法(迭代它们)才能将它们放入评论中。
  • 已编辑答案,请看一下。
  • 感谢@svasa,这看起来是目前添加这些 cmets 的最佳方式!
【解决方案2】:

当您在类或方法定义之前键入/** 然后点击返回时,Eclipse 会为类和方法生成一些(模板化的)cmets。您可以通过转到 Window>Preferences>Java>Code Style>Code Templates>Comments 来定义生成的 cmets 的内容。

【讨论】:

  • 使用此方法,我无法遍历给定类/接口中的方法和字段列表,我需要这样做。例如,我只能获取封闭类型名称或文件名。
  • 当您说“遍历方法和字段列表”时,听起来您正在尝试“解析”现有的“未注释”类文件,添加适合所收集的解析信息的 cmets,而不是在编写代码时尝试遵守严格的注释规则。 Eclipse 的代码/注释模板功能旨在用于“代码编写时间”。如果您使用反射来“解析”对象,然后将 cmets 添加到底层类文件中,那么 Eclipse 注释模板功能也无济于事。
  • 你是对的,这正是我想要做的。遗憾的是 Eclipse 没有该功能。我将编辑我的帖子以寻求非 Eclipse 解决方案,因为评论规则确实很严格。 :)
  • 您应该能够将自己的“注释模板”定义为某些类的方法,这些方法采用适当的参数并吐出“是”需要在“解析指针”的任何位置写入的 cmets目前点。然后,您只需在该方法中“写入”一次注释,该方法将根据您的需要多次写入,无论您需要它在哪里,使用您需要的任何参数。
  • 如果我对您的理解正确,您提出的建议与this 答案非常相似。这似乎是要走的路,谢谢。
猜你喜欢
  • 2012-06-23
  • 2012-09-16
  • 2018-06-06
  • 1970-01-01
  • 2011-07-18
  • 2012-02-09
  • 2012-05-09
  • 2017-08-21
  • 2010-11-03
相关资源
最近更新 更多