【问题标题】:Prevent eclipse from inserting newlines with variables?防止eclipse插入带有变量的换行符?
【发布时间】:2023-03-09 10:25:01
【问题描述】:

可以通过eclipse.ini 覆盖用户名,我已经这样做了:

-Duser.name=My Name

这很适合自定义代码模板。对于 Java,这些位于 Window -> Preferences -> Java -> Code Style -> Code Templates

以下是我用于FilesTypes 模板的自定义模板:

/**
 * 
 * @author ${user} */

预期的输出是:

/**
 * 
 * @author My Name */

可惜eclipse坚持在${user}后面插入换行符,导致:

/**
 * 
 * @author My Name
 */

有人知道如何防止这种换行插入吗?

真诚的感谢。

【问题讨论】:

  • 你确定是变量替换导致换行吗?您是否尝试过使用文字值?
  • 我没有假设它是变量替换,我只是描述了确切的情况。现在将测试..
  • 它也出现在字符串中。
  • 这是非标准格式,它违反了 JavaDoc cmets 的 Java 约定。
  • @E-Riz 感谢您提供的信息,但我非常乐意在合乎逻辑的情况下违反约定。在这种情况下,以我的方式写评论会浪费更少的空间,看起来更整洁,并且是针对内部企业解决方案,因此无需考虑 OSS 问题。

标签: eclipse templates newline insertion


【解决方案1】:

我认为模板可以正常工作,但 Javadoc 格式设置导致了差异。见Window -> Preferences -> Java -> Formatter。点击Edit。在Comments 选项卡下的Javadoc comment settings 组中,取消选中/** and */ on separate lines。您是否有任何特殊原因要偏离Sun Code Conventions 中的块注释示例?

【讨论】:

  • @John 谢谢你的回答,遗憾的是这并不能解决问题。请参阅我对 OP 中 E-Riz 的评论以了解您的会议问题。
  • @John 澄清一下 - 在 Formatter 中查看实时模板很明显,这 似乎 可以解决问题,但实际上当您返回编辑器时,行为是相同。不过,感谢您的明确指示,感谢您的努力。
  • @KomodoDave 我认为它解决了一个密切相关的问题,我认为这是你的问题。如果您向现有课程添加课程级别的评论,它将不会按照您想要的方式进行格式化。但是,如果您创建一个新类并选择“生成 cmets”,我认为它完全符合您的要求。那是我的测试用例。可能有不同的设置来控制您键入的 cmets 的格式。不过我没找到。
  • 您也可以在Java -> Editor -> Typing中使用相关设置。在Automatically close 组中,选中或取消选中Javadoc and comment regionsAdd Javadoc tags。您可以让 eclipse 停止向这些 cmets 添加任何内容并停止完全关闭它们。但是你不能让它自动关闭它们和/或添加javadoc标签,同时仍然尊重我在这个答案中提到的格式化选项。
猜你喜欢
  • 1970-01-01
  • 2015-05-02
  • 2020-04-15
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
相关资源
最近更新 更多