防止 Eclipse 将 javadoc 标签中的 @ 字符转换为 <pre> @



我对我的一个包(package-info.java(有一个Javadoc注释,基本上看起来像这样:

/**
* <pre>
* {@code
* // Some comments...
* final Foo<Integer> foo = new Foo<>(0);
* }
* </pre>
* 
*/
package com.holt.mypackage;

我还启用了使用格式化项目属性中的所有保存操作。每次保存文件时,Eclipse 都会将{@code替换为:

* {
*   &#64;code

。完全打破了我的Javadoc。

我尝试手动使用<pre><code>,但随后 Maven javadoc 插件抱怨 HTML 中<>字符无效(由于Foo<>(。如果我禁用保存操作,从 Eclipse 到 Maven 一切正常。

有没有办法告诉Eclipse不要替换这些字符?

正如这里指定的,你必须"在'pre'标签设置中格式化Java代码片段":

  1. Window > Preferences
  2. Java > Code Style > Formatter
  3. 如果您没有自定义配置文件,请单击New...
  4. Edit...
  5. Comments>取消选中格式化 Java 代码片段...

因此,Eclipse IDE 将不再格式化<pre>标记的内容。

如果您仍然想从格式化中受益,我建议您使用<code>标签。您只需要正确转义<>字符,如下所示:

/**
* <pre>
* <code>
* // Some comments...
* final Foo&lt;Integer&gt; foo = new Foo&lt;&gt;(0);
* }
* </code>
* </pre> 
*
*/
package com.holt.mypackage;

看到这个 SO 答案。

相关内容

最新更新