4

次のような IntelliJ IDEA インスペクションからの警告を抑制できることはわかっています。

@SuppressWarnings("CollectionDeclaredAsConcreteClass")
public PropertiesExpander(Properties properties) {
    this.properties.putAll(properties);
}

外部の人にとっては、この抑制が必要なツールが明確でない場合があります。

PMD はそのためにプレフィックスを使用します。

@SuppressWarnings("PMD.UnusedLocalVariable")

FindBugs は専用の注釈を使用します。

@SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")

この抑制がIntelliJ IDEA専用であることを明確に示す方法はありますか?

4

2 に答える 2

3

メソッド引数でこれを抑制する方法は、代わりに javadoc タグを使用することです。

/**
 * @noinspection CollectionDeclaredAsConcreteClass
 */
public PropertiesExpander(Properties properties) {
    this.properties.putAll(properties);
}

この javadoc タグは IntelliJ 固有のものであるため、他のツールで問題が発生することはありません。そして、それをそのまま認識するか、コメントを追加することで、簡単に識別できます。

/**
 * @noinspection IntelliJ CollectionDeclaredAsConcreteClass
 */
public PropertiesExpander(Properties properties) {
    this.properties.putAll(properties);
}

もちろん、さらに短くすることもできます。

/** @noinspection CollectionDeclaredAsConcreteClass */
public PropertiesExpander(Properties properties) {
    this.properties.putAll(properties);
}

一般的方法

注釈の代わりに特別なコメントを使用して、1 つずつ警告を抑制することができます@SuppressWarnings

多くの警告を含む例を次に示します。

ここに画像の説明を入力

Alt+Enterを押すと、コンテキストメニューでnotUsedLocalVariable選択できSuppress for statement with commentます ( を選択して右に移動した後Remove variable ...)。

一部の変数/フィールド/メソッドでは、選択された抑制はSuppress for statement.

右側のフィールドを見ると、ほとんどの (すべてではない) 警告が抑制されています。

ここに画像の説明を入力

ご覧のとおり、同じコメント行に複数の抑制がある場合があります。

これは少し面倒に思えるかもしれませんが、これができる最善の方法だと思います。

于 2015-09-03T08:22:10.437 に答える
3

私はそれを達成する方法を見つけました@SuppressWarnings:

@SuppressWarnings("idea: CollectionDeclaredAsConcreteClass")
public PropertiesExpander(Properties properties) {
    this.properties.putAll(properties);
}

の後にスペースが必要であることに注意してくださいidea:。そうしないと機能しません。

于 2015-09-03T19:26:05.253 に答える