web-dev-qa-db-fra.com

Désactiver l'avertissement "non utilisé" pour les méthodes publiques d'une classe

La nouvelle mise à niveau intellij (10.5) affiche maintenant un avertissement indiquant que certaines des méthodes définies pour une classe ne sont pas utilisées. Ces méthodes sont publiques et je prévois de ne pas toutes les utiliser car je les ai créées pour prendre en charge l'API attendue. Je voudrais désactiver cet avertissement (non utilisé pour les méthodes publiques dans une classe). Y a-t-il un moyen de le faire? 

Vous pouvez le désactiver pour une méthode unique comme celle-ci

@SuppressWarnings("unused")
public void myMethod(){...}
49
JT Montana

IDEA 2016.3

Dans la version à venir IDEA 2016.3 (la version de prévisualisation est déjà disponible), il est désormais possible d'ajuster l'étendue de l'inspection:

 enter image description here

<IDEA 14.0

Si vous souhaitez mettre en surbrillance les méthodes publiques non utilisées, veuillez activer le contrôle global "Paramètres | Inspections | Redondance des déclarations | Déclaration non utilisée".

Si vous souhaitez mettre en surbrillance les méthodes privées non utilisées, veuillez activer l'inspection locale "Paramètres | Inspection | Redondance des déclarations | Symbole inutilisé".

Par conséquent, si vous souhaitez mettre en surbrillance les membres privés non utilisés, mais pas les membres publics inutilisés, désactivez "Déclaration non utilisée" et "Symbole inutilisé".

La source

Je viens de le tester avec IDEA 13.1.4, et cela a fonctionné exactement comme décrit.

IDEA 14.x

Dans IntelliJ IDEA 14.0.x, les paramètres sont définis sous:

Settings | Editor | Inspections | Declaration redundancy | Unused symbol/declaration

Dans IntelliJ IDEA 14.1, l’option semble avoir disparu.

41
Darek Kay

Désactiver Settings | Inspections | Declaration redundancy | Déclaration non utilisée code inspection. En option, vous pouvez créer une étendue personnalisée pour vos classes d'API et ne désactiver cette inspection que par étendue d'API afin qu'elle fonctionne toujours dans les autres parties de votre projet.

38
CrazyCoder

Dans la dernière version, cette option se trouve sous Settings>Inspections>Java>Declaration redundancy>Unused declaration>Methods et décochez les options non requises.

4
Vijay Nandwana

Je pense que le meilleur moyen d'éviter de mettre en évidence ces méthodes publiques non utilisées consiste à écrire quelques tests pour ces méthodes dans votre API.

3
csansb

Voici la mise à jour 2019 pour: IntelliJ IDEA 2018.3.2 (Community Edition) Version n ° IC-183.4886.37, construite le 17 décembre 2018 

Paramètres | Éditeur | Inspections | Déclaration redondante | Déclaration non utilisée

 enter image description here

1
Ben

C'est un vieux fil, mais je me suis retrouvé ici plus rapidement que je ne pouvais trouver une solution, je vais donc partager mes découvertes . Tout d'abord, je ne suis pas sûr si nous travaillons avec le même langage (JS ici,) mais en jouant avec les outils basés sur une interface graphique, voici ce qui m’a abouti ..... Le code suivant m’avait donné le fameux avertissement "non utilisé":

/**
 * @class sample class
 */
var MyClass = function () {
    return this;
};

/**
 * Some public method
 * @api public
 */
MyClass.prototype.myMethod = function () {
    return null;
};

Voilà la "définition non utilisée de ma méthode" L’inspecteur a fini par suggérer d’ignorer ce problème en ajoutant

//noinspection JSUnusedGlobalSymbols

juste au-dessus de cette méthode spécifique pour que le code suivant ne génère plus cet avertissement:

//noinspection JSUnusedGlobalSymbols
/**
 * Some public method
 * @api public
 */
MyClass.prototype.myMethod = function () {
   return null;
};

D'autres avertissements (typoes, etc.) semblent toujours apparaître, y compris des variables et des paramètres locaux inutilisés, ce qui semble isoler ce problème particulier… .. L'inconvénient est qu'il a tendance à polluer votre code si vous en avez beaucoup. ..

1
Quentin

Je viens de cliquer sur "supprimer pour instruction" et webstorm l'a ajouté:

//noinspection JSUnusedGlobalSymbols
0
Guntram