11

$Revision: $javadoc の一部がビルド プロセスの一部として実際に生成される Java クラスがあります。メソッドの戻り値 (静的な文字列値) は、一部のバージョン管理ソフトウェアでタグが機能するように、ソース ファイルに挿入されます。

この動作は疑わしいかもしれませんが、私が使用するフレームワーク (WEKA 機械学習ライブラリ) では、このような情報の複製が必要です。生成されたコメントに Eclipse のコード フォーマッタが干渉しないようにしたいと思います。Eclipse Indigo リリースを使用しています。

特別なコメント//@formatter:on//@formatter:off. ただし、@formatterタグは「通常の」コメントでのみ機能し、javadoc コメントでは機能しません。明らかに、javadoc タグと混同されやすいです。@formatterつまり、ディレクティブは javadoc コメントの周囲に配置する必要があるため、javadoc コメントの生成された部分のフォーマッター (自動改行など) をオフにして残りの部分をオンのままにすることはできません。

javadoc コメント内でコードの書式設定を切り替える回避策はありますか?

4

3 に答える 3

10

これが質問/回答されてからしばらく経ち、次の回答を改善するのに役立ちました。Javadocs で Javascript を実行したかったので、この代替手段を使用します。

Eclipse は、Windows->Preferences->java->code style->formatter:::edit button::: タブ "off/on tags" で有効にする必要がある @formatter:off と @formatter:on を提供します。それらは、任意のコメントで使用できます。

ドキュメントの周り

// @formatter:off
/**
* javadoc
*/ 
// @formatter:on

ただし、javadoc 内でフォーマッターをオフにする場合は、HTML コメント内で @formatter:xxx を使用して、<!-- xxxxx -->何をしようとしているのかを示します。ブロックを使用して、<code>...</code>書式設定を行わず、コードを JavaScript として含めるようにします。

Eclipse と NetBeans で動作するように、例のコード ステートメントを編集しました。formatter:off が機能していることがわかりましたが、別のバージョンの 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 -->
*
*
*/
于 2014-04-13T12:43:12.403 に答える
1

ヘッダーのフォーマットを無効にすることはできますが、ヘッダー以外の javadoc コメントのフォーマットを選択的に無効にできるとは思えません。

于 2012-08-18T13:38:56.280 に答える