尝试使用 Netbeans 8.0 转义 javadoc 注释中 {@code} 块中的"@"符号



我正在尝试使用Netbeans 8.0在Javadoc注释中插入{@code}注释,它不能正常工作。

我以前见过关于这个的其他问题(例如,如何在javadoc中转义@字符?),但是html转义@{@literal @}似乎都不起作用。

我的注释是这样的(为了便于示例,使用了两种方法):

/**
 * blah blah blah
 * <p>
 * For example:
 * <pre>
 * {@code
 * {@literal @}begin_specification
 *  ...
 * &#64;end_specification
 * }
 * </pre>
 */

我可以点击Run -> Generate Javadoc,一切都运行良好,没有错误,但当我在浏览器中查看结果输出时,我看到了这一点:

{@literal @}begin_specification
 ...
&#64;end_specification

这不是期望的结果…任何建议/想法吗?

我对Java相当陌生,但过去在C/c++中使用过氧之类的东西。我做错什么了吗?我使用NetBeans 8.0 (Build 201403101706)与Java 1.8.0_05 x64.

一种方法是:

<pre> <code>
   {@literal @}
</code> </pre>

代替{@code ...}块。参见第86行左右的示例

这是一个已知的bug。相应bug的链接是:

https://bugs.openjdk.java.net/browse/jdk - 8130754

截至2016-10-07,没有预定的修复版本。

解决这个bug的一种方法是使用一个看起来类似于标准"@"符号的不同字符。我发现了一些类似的Unicode字符:

  1. @ (U+0040):商用AT(损坏的正常AT)
  2. ω (u + 24d0):带圈的拉丁小写字母a
  3. @ (u + fe6b):小商业
  4. @ (u + ff20):全宽广告

我试图写"@Override"与所有这些在javadoc注释{@code…}标记。(我使用的是Netbeans编辑器和Mozilla Firefox浏览器。)所有的符号都起作用了,当然除了#1。此外,#3在编辑器中没有显示,但在浏览器中运行良好。

我刚刚在NetBeans 8.0.1上也遇到了这个问题,所以摆弄了大约15分钟。起初,在javadoc中使用{@code }格式化器时,父元素中没有显示任何内容,因此我在javadoc中的文本中有实际的中断。然后在搞乱它并改变它周围(使用<pre>和其他几个标签)并打开其他具有{@link }和什么的类后,它刚刚开始工作。

不确定发生了什么,但可能IDE的javadoc渲染器需要一些时间来完全"预热"。虽然这听起来很不专业,但事实确实如此。一个javadoc头正确地显示了一个{@code }块,但在几个字之外的另一个头却没有。现在所有的都显示正确了。不确定这对任何人都有帮助,但在考虑了我将向NetBeans发送一个新的bugzilla票之后,我又回来工作了。

相关内容

  • 没有找到相关文章

最新更新