我有一个Java类,javadoc的一部分实际上是作为构建过程的一部分生成的:方法的返回值(静态String值)被插入到源文件中,就像$Revision: $
一样标签适用于某些版本控制软件。
虽然这种行为可能有问题,但我使用的框架(WEKA机器学习库)需要这种信息重复。我希望Eclipse的代码格式化程序不要干扰生成的注释。我正在使用Eclipse Indigo版本。
我可以使用特殊评论//@formatter:on
和//@formatter:off
打开/关闭格式化程序。但是,@formatter
标记仅在“普通”注释中起作用,而不在javadoc注释中起作用。显然,它们很容易与javadoc标签混淆。这意味着我无法关闭javadoc注释的生成部分的格式化程序(例如,自动换行),并将其保留为其余部分,因为@formatter
指令必须放在javadoc注释周围。 / p>
有一种解决方法可以在javadoc注释中切换代码格式吗?
答案 0 :(得分:6)
已经有一段时间了,因为这被问及/回答并帮助我改进了以下答案,希望另外有用。我使用这个替代方案,因为我想在Javadocs中运行Javascript。
Eclipse提供@formatter:off和@formatter:需要通过Windows启用 - > Preferences-> java-> code style-> formatter ::: edit button ::: tab&# 34;关/开标签"。 它们可以在任何评论中使用。
围绕文档的东西
// @formatter:off
/**
* javadoc
*/
// @formatter:on
但是当你想在javadoc中关闭格式化程序时使用
@formatter:xxx在html评论<!-- xxxxx -->
中表示你的内容
正在努力做到。使用<code>...</code>
bloack确保没有格式化
将代码包含为javascript。
编辑示例中的代码语句,因为我希望这可以在eclipse上工作 和netbeans。我找到了格式化程序:关闭工作,但后来停止了不同的工作 eclipse的版本(是的,我使用多个IDE版本)。
/**
* <br><!-- @formatter:off -->
* <code>
* <script type="text/javascript">
* // hash structure for holding variable as name and its text
* var hashText = {};
*
* // function causes a hyper-link to be created
* function insertLink(varName, text){
* var link22;
*
* hashText[varName] = text;
*
* link22 = '<a href="./ConsoleCapture.html#' + varName + '">' + hashText[varName] + '</a>';
*
* document.write(link22);
* }
* function insertLinkA(varName){
* var link22;
*
* link22 = '<a href="./ConsoleCapture.html#' + varName + '">' + hashText[varName] + '</a>';
*
* document.write(link22);
* }
*
* function setLinkPoint(varName, text){
* hashText[varName] = text;
*
* document.write('<a id="' + varName + '"><U>' + hashText[varName] + '</U></a>');
* }
*
* function setLinkPointA(varName){
* document.write('<a id="' + varName + '"><U>' + hashText[varName] + '</U></a>');
* }
* </script>
* <code>
* <!-- @formatter:on -->
*
*
*/
答案 1 :(得分:1)
您可以禁用标题的格式,但我不相信您可以选择性地禁用非标题javadoc注释的格式。
答案 2 :(得分:0)
我遇到了同样的问题,将export class Model {
Id: number;
mode: number;
App: string;
name: string;
}
更改为@formatter:off
对我来说很成功。
这个想法是避免在开/关标记中使用FORMATTEROFF
。
现在我可以禁用Javadoc部分周围的格式化程序。