web-dev-qa-db-fra.com

Avertissement "La variable n'est jamais affectée" dans IntelliJ IDEA ne peut être supprimé que "partiellement"

Java EE + IntelliJ Idea 2016.3: J'ai écrit une classe et déclaré un champ privé avec un @Inject annotation. J'ai réussi à supprimer la notification de "déclaration inutilisée" de la fenêtre "Résultats d'inspection" en ajoutant javax.inject.Inject à paramètres -> éditeur -> inspections -> Java -> redondance de déclaration -> déclarations inutilisées -> points d'entrée -> annotations -> champ de marquage comme écrit implicitement lorsqu'il est annoté par (basé sur ce message ). Malheureusement, le champ est toujours souligné et un marqueur jaune est présent sur la barre de défilement. Dois-je configurer cela séparément ou est-ce que je fais quelque chose de mal?

22
rychu

Il existe deux avertissements distincts. On dit que le champ était jamais assigné une valeur, qui est celle que vous avez désactivée. L'autre dit que le champ était jamais utilisé, qui est l'avertissement que vous recevez.

Ajoutez Inject aux paramètres -> éditeur -> inspections -> Java -> redondance de déclaration -> déclarations inutilisées -> points d'entrée -> annotations -> Marquer comme point d'entrée si annoté par

30
MarcG

Mettez en surbrillance le champ, tapez Alt + Enter "Windows" ou ⌥⏎ "Mac" ou cliquez simplement sur l'ampoule. Sélectionnez l'option "Supprimer pour les champs annotés de {nom d'annotation}.

15
Ronny Shibley

Il semble que c'était un bug dans IDEA. Je viens de mettre à jour vers IDEA 2016.3.1 et maintenant @Inject et @Resource les annotations placées dans la section "points d'entrée" ne fonctionnent pas - elles doivent être placées dans la fenêtre "champs" (bien que quand elles sont dans la section "points d'entrée" je peux toujours observer le comportement "ancien" c'est-à-dire que les champs annotés sont non détecté par l'inspection du code mais ils sont soulignés dans l'éditeur et un marqueur jaune est visible).

4
rychu