我在pyCharm中编写了一个wxPython项目(主要由wxGlade生成)。如果我有一些指定字符串的代码,例如:
value_label = wx.StaticText(self, wx.ID_ANY, _("Value"))
字符串然后它会抱怨Unresolved reference '_'。有没有办法只忽略这个未解析的引用?
Unresolved reference '_'
myzjeezk1#
您可以更改“未解析引用”检查的设置:
_
NameError
gettext.install
或者:
module_name._
我刚刚检查过,可以将其限制为仅一个模块。如果你在模块a中使用_,那么将a._添加到列表 Ignore references 中,所有在a.py模块中使用_的情况都将被忽略,而在其他模块中误用_时,将显示警告。
a
a._
a.py
mfpqipee2#
另一种选择是将其包含在您正在编写的类/方法/函数之上:
# noinspection PyUnresolvedReferences
字符串
6ju8rftf3#
正如最初的问题所暗示的,这是i18 n代码的一个真实的问题,它最终会标记每一个用_()标记的字符串。我的解决方案是将数百个红旗换成一个红旗,将以下内容添加到代码中:
# Keep PyCharm happy. _ = _
字符串这引起的一个危险信号很容易被忽略,并不断提醒我,尽管我喜欢PyCharm,但它并不完美:-)。
3条答案
按热度按时间myzjeezk1#
您可以更改“未解析引用”检查的设置:
_
添加到列表中。警告:这将忽略项目所有源文件中未解析的引用
_
。这通常不是一个问题,因为您不太可能为函数使用这种名称。如果你曾经得到一个关于_
的NameError
,那么你已经知道你忘记调用gettext.install
了。或者:
_
的位置。module_name._
*我刚刚检查过,可以将其限制为仅一个模块。如果你在模块
a
中使用_
,那么将a._
添加到列表 Ignore references 中,所有在a.py
模块中使用_
的情况都将被忽略,而在其他模块中误用_
时,将显示警告。mfpqipee2#
另一种选择是将其包含在您正在编写的类/方法/函数之上:
字符串
6ju8rftf3#
正如最初的问题所暗示的,这是i18 n代码的一个真实的问题,它最终会标记每一个用_()标记的字符串。我的解决方案是将数百个红旗换成一个红旗,将以下内容添加到代码中:
字符串
这引起的一个危险信号很容易被忽略,并不断提醒我,尽管我喜欢PyCharm,但它并不完美:-)。