2012-10-17 6 views
17

私のC#の日には、 "GhostDoc"というVisual Studioエクステンションの使用が大好きでした。今、私はJava開発者として使用されています。私はEclipseを使用しています。私はドキュメンテーションを推論することなく生きることができますが、私がしたいのは、ドキュメントをインテリジェントに "修正"することです。たとえば、のは、私は次のメソッドを持っていると仮定してみましょう:Eclipseでドキュメントをインテリジェントに修正するには?

/** 
* Gets a collection of {@link Foo} objects 
* @param bar The bar level 
* @param baz The bazziness 
*/ 
public Collection<Foo> getFoos(int bar, int baz) 
{ 
    // Do something cool 
} 

後で開発に私は私の方法の消費者はqux値を渡すことができるように有用であろうことを実現します。それだけでなく、それを最初のパラメータとして持つことが最も理にかなっています。また、私は非常に便利なFooBarExceptionをスローするメソッドを持つつもりです。だから私の方法は次のようになります:

/** 
* Gets a collection of {@link Foo} objects 
* @param bar The bar level 
* @param baz The bazziness 
*/ 
public Collection<Foo> getFoos(String qux, int bar, int baz) throws FooBarException 
{ 
    // Do something cool 
} 

私はJavaDocに変更を反映させたいと思います。 GhostDocではドキュメントのショートカットキーを押すことができ、古いものを乱さずに新しいものを追加できます。 Eclipseでは、JavaDocのまったく新しいセットをレンダリングするので、私はたくさんのコピーを行う必要があります。新しい@param@exception、および欠落した@returnsパラメータを現在のJavaDocを失うことなくJavaDocに自動的に挿入するにはどうすればよいですか?

+0

に確認してくださいこれを行うように変更しなければならないであろうAltキー+ Shiftキー+ J –

+0

ザ・EclipseのJavaエディターを使用していますので、私はノーと言うだろう。 –

+1

クラス内のすべてのメソッドをチェックする独自のプラグインをいつでも作成することができます。javadocがパラメータに対応する場合は、exceptions ..これらのタグのデフォルト値を挿入します。この[Vogelのチュートリアル](http://www.vogella.com/articles/EclipsePlugIn/article.html)を見てください。次回は何もしません。自分のコードをリファクタリングする傾向があるからです私がjavadocを書いた後。 – knownasilya

答えて

16

わからない以下の場合は、あなたがメンター何ですが、Eclipseは、独自のJavaDocのバリデータを持っているので、あなたは

ウィンドウの下に警告/エラーをコンパイル設定することができます - >設定 - > Javaの - >コンパイラ - >のJavaDoc。

javadocタグを必要に応じてアクティブにし、警告レベルを「警告」に設定すると、javadocがメソッドのシグネチャと異なると、コンパイラは変更を認識して警告を表示します。これを修正するために、クイックフィックス(STRG + 1)が用意されており、欠落しているタグをすべて追加することができます。この操作は、あなたの古いコメントを乱すことなく、適切な場所にも欠けているタグを追加します。

enter image description here

+0

これは私が欲しかったものです。感謝!!!! –

2

Eclipseサポート "code" -completion for JavaDocもサポートされています。穴のステートメントを入力する必要はありません。 "@p"と入力するだけでCTRL + Spaceが残りの部分を表示します。それとも、コードメーターの名前を書くだけで、コード補完によって残りの部分が追加されます。

これは直接的なショートカットではありませんが、javadocの処理速度は、最初からすべてを書き込むよりも速くなります。

@t(@throw)@r(@return)などと同じです。あなたのコメントへ

編集:

あなたは自動的にあなたのクラスをチェックするため、Checkstyleのを設定することができます。 Checkstyleは、メソッドに文書化されていないパラメータまたはその他の欠落しているパラメータがある場合にレポートします。 Checkstyleは、最初の文が '。'で終わるかどうかをチェックすることもできます。か否か。あなたは手でこのようなルールをたくさんすることができます。

CheckstyleはJavaコードエディタに問題マーカーを追加し、問題を表示します。したがって、javadocの問題でコード行を簡単に見つけることができます。

+1

いいですね。しかし、それがしないのは、ドキュメントの欠落、返却文書の欠落、メソッドの説明の欠落、例外ドキュメントの欠落などがあるときに検出されます。私はベストを尽くしますが、私は人間です。 GhostDocのようなツールは非常に便利です。 –

+0

これは間違いです!私たちはこの仕組みを弊社で使用しており、これらのすべてのケースで問題マーカーを取得しています。 –

+1

こんにちはマルクス。私のコメントはあなたの元の答えに応じたものでした。私のコメントに応じて、あなたはあなたの答えを修正しました。この修正された答えは正確で、私が探していたものです。ありがとう。 –

1

標準的なコメント欄(GhostDocと同じ場所)より上に/ **を入力すると、コメント用のテンプレートが自動的に完成します。

名前変更機能(Shift + Alt + R)を使用して変数の名前を変更した場合、Eclipseはコードがコンパイルされていると仮定して、すべての適切な場所の名前も変更します。

これには、コメントリンクあなたもこれらの参照を更新するEclipseの名前変更機能を使用してmyThingかMyThingClassのいずれかの名前を変更する

/** 
* 
* My funky method 
* 
* @param myThing 
*   myThing is of type {@link MyThingClass} 
*/ 
public void myMethod(MyThingClass myThing) {} 

を作りました。

同様に、「変更メソッドシグネチャ」機能を使用すると、基本的には。あまりにも

をあなたのコメントを更新しますあなたがすべてでリファクタリングしている場合、リファクタリングメニュー(Shiftキー+ Altキー+ T)を使用します。

+0

私はこれをやろうとしますが、このようにリファクタリングしなかったバージョン管理の変更をコミットしている別の開発者などが起きることがあります。このシナリオを防ぐのが理想的ですが、私は本当に起こったときにそれを修正する方法を探しています。 –

+2

@JasonThompson Ahh。私はそれを行う方法がわからない、多分PMD&CheckStyleをチェックイン時にこれらのことを実行するように勧める?同様に、開発者に半分のコードをチェックするのは難しい時間を与えてください。それはここで働く。 – BanksySan

1

Checkstyleはすでに述べました。私はそれを試しましたが、それは私のEclipse(E4ジュノ、それはいくつかの悪い減速を持つために知られている)を遅くするように見えた。

Google CodeProはより良い仕事をしていたので、今私は今これを使用しています。

もちろん、JavaDocの警告を有効にすることができます。

関連する問題