Question

Je programme dans pyCharm et crée un projet wxPython (principalement généré à partir de wxGlade).Si j'ai du code qui spécifie une chaîne, par exemple :

value_label = wx.StaticText(self, wx.ID_ANY, _("Value"))

Il se plaint alors Unresolved reference '_'.Existe-t-il un moyen d'ignorer uniquement cette référence non résolue ?

Était-ce utile?

La solution

Vous pouvez modifier les paramètres du Référence non résolue inspection:

  • Ouvrez le Paramètres... menu
  • Sélectionnez le Inspections page
  • Rechercher Références non résolues et cliquez sur l'inspection.En bas à droite, vous devriez voir un widget de liste intitulé Ignorer les références.
  • Ajouter _ à la liste.

Avertissement: cela ignorera la référence non résolue _ dans tous fichiers sources du projet.Ce n'est généralement pas un problème car il est très peu probable que vous utilisiez ce type de nom pour vos fonctions.Si jamais tu reçois un NameError à propos _ alors tu sais déjà que tu as oublié d'appeler gettext.install.

Alternativement :

  • Ouvrez le fichier incriminé et placez le curseur sur une occurrence de _.
  • Presse Alt+Entrer pour ouvrir le menu contextuel (cela peut dépendre des raccourcis que vous avez choisis ou configurés).
  • Sélectionner Ignorer la référence non résolue module_name._
  • Sélectionner Résoudre tous les problèmes de « Références non résolues »

Je viens de vérifier et il est possible de limiter cela à un seul module.Si vous utilisez _ module intérieur a puis ajouter a._ à la liste Ignorer les références et toutes les utilisations de _ à l'intérieur de a.py module sera ignoré, tandis que les avertissements seront affichés en cas d'utilisation abusive de _ dans d'autres modules.

Autres conseils

Une autre option consiste à inclure ceci au-dessus de la classe/méthode/fonction que vous écrivez :

# noinspection PyUnresolvedReferences

Comme l'indique la question d'origine, il s'agit d'un réel problème pour le code i18n'd qui finit par signaler chaque occurrence d'une chaîne marquée de _().Ma solution, qui échange les centaines de drapeaux rouges contre un seul, consiste à ajouter ceci au code :

    # Keep PyCharm happy.
    _ = _

Le seul signal d’alarme que cela provoque est assez facile à ignorer et ne cesse de me rappeler que même si j’aime PyCharm, ce n’est pas le cas. parfait :-).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top