禁用部分javadoc的Eclipse代码格式

时间:2012-08-18 12:38:47

标签: eclipse code-generation javadoc weka eclipse-jdt

我有一个Java类,javadoc的一部分实际上是作为构建过程的一部分生成的:方法的返回值(静态String值)被插入到源文件中,就像$Revision: $一样标签适用于某些版本控制软件。

虽然这种行为可能有问题,但我使用的框架(WEKA机器学习库)需要这种信息重复。我希望Eclipse的代码格式化程序不要干扰生成的注释。我正在使用Eclipse Indigo版本。

我可以使用特殊评论//@formatter:on//@formatter:off打开/关闭格式化程序。但是,@formatter标记仅在“普通”注释中起作用,而不在javadoc注释中起作用。显然,它们很容易与javadoc标签混淆。这意味着我无法关闭javadoc注释的生成部分的格式化程序(例如,自动换行),并将其保留为其余部分,因为@formatter指令必须放在javadoc注释周围。 / p>

有一种解决方法可以在javadoc注释中切换代码格式吗?

3 个答案:

答案 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部分周围的格式化程序。