Frage

Ich programmiere in PyCharm und erstelle ein wxPython-Projekt (hauptsächlich generiert aus wxGlade).Wenn ich einen Code habe, der eine Zeichenfolge angibt, z.:

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

Es beschwert sich dann über Unresolved reference '_'.Gibt es eine Möglichkeit, nur diese ungelöste Referenz zu ignorieren?

War es hilfreich?

Lösung

Sie können die Einstellungen des Ungelöste Referenz Inspektion:

  • Öffnen Sie die Einstellung... Menü
  • Wählen Sie die Inspektion Seite
  • Suche nach Ungelöste Referenzen und klicken Sie auf die Inspektion.Unten rechts sollten Sie ein Listen-Widget mit dem Titel sehen Referenzen ignorieren.
  • Hinzufügen _ zur Liste.

Warnung: dadurch wird die ungelöste Referenz ignoriert _ in aller quelldateien des Projekts.Dies ist normalerweise kein Problem, da es sehr unwahrscheinlich ist, dass Sie diese Art von Namen für Ihre Funktionen verwenden.Wenn Sie jemals eine bekommen NameError über _ dann wissen Sie bereits, dass Sie vergessen haben anzurufen gettext.install.

Alternativ:

  • Öffnen Sie die fehlerhafte Datei und platzieren Sie den Cursor auf ein Vorkommen von _.
  • Drücken Alt+Geben um das Kontextmenü zu öffnen (dies kann von den von Ihnen gewählten oder konfigurierten Verknüpfungen abhängen).
  • Wählen Ungelöste Referenz ignorieren module_name._
  • Wählen Beheben Sie alle Probleme mit ungelösten Referenzen

Ich habe es gerade überprüft und es ist möglich, dies auf nur ein Modul zu beschränken.Wenn Sie verwenden _ innenmodul a fügen a._ zur Liste Referenzen ignorieren und alle Verwendungen von _ im Inneren des a.py modul ignoriert, während die Warnungen bei Missbrauch von angezeigt werden _ in anderen Modulen.

Andere Tipps

Eine andere Möglichkeit besteht darin, dies über die Klasse / Methode / Funktion aufzunehmen, die Sie schreiben:

# noinspection PyUnresolvedReferences

Wie die ursprüngliche Frage impliziert, ist dies ein echtes Problem für i18n-Code, der letztendlich jedes Vorkommen einer mit _() markierten Zeichenfolge kennzeichnet.Meine Lösung, die die Hunderte von roten Fahnen gegen eine eintauscht, besteht darin, dies dem Code hinzuzufügen:

    # Keep PyCharm happy.
    _ = _

Die eine rote Fahne, die dies verursacht, ist leicht zu ignorieren und erinnert mich immer wieder daran, dass ich PyCharm zwar liebe, es aber nicht ist perfekt :-).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top