如何阻止pyCharm抱怨下划线字符串?

时间:2014-04-11 18:02:40

标签: python pycharm wxglade

我在pyCharm中编程创建一个wxPython项目(主要是从wxGlade生成)。如果我有一些代码指定一个字符串,例如:

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

然后抱怨Unresolved reference '_'。有没有办法只忽略这个未解决的参考?

3 个答案:

答案 0 :(得分:10)

您可以更改 Unresolved reference 检查的设置:

  • 打开设置... 菜单
  • 选择检查页面
  • 搜索未解析的参考并单击检查。在右下角,您会看到一个名为忽略引用的列表小部件。
  • _添加到列表中。

警告:这会忽略项目的所有源文件中未解析的引用_。这通常不是问题,因为您不太可能将这种名称用于您的功能。如果您收到关于NameError的{​​{1}},那么您已经知道忘了拨打_

可替换地:

  • 打开有问题的文件,将光标置于gettext.install
  • 的出现位置
  • Alt + 输入打开上下文菜单(这可能取决于您选择或配置的快捷方式)。
  • 选择忽略未解析的参考_
  • 选择修复所有'未解决的参考文献'问题

我刚检查过,可以将此限制为仅限模块。如果您在模块module_name._中使用_,请将a添加到列表忽略参考以及a.__的所有用法}模块将被忽略,而警告将显示在其他模块中误用a.py

答案 1 :(得分:0)

正如最初的问题所暗示的那样,这对于i18n代码来说是一个真正的问题,它最终会标记每个出现的标有_()的字符串。我的解决方案是将数百个红旗换成一个,将其添加到代码中:

    # Keep PyCharm happy.
    _ = _

这导致的一个红旗很容易忽略,并不断提醒我,虽然我喜欢PyCharm,但它并非完美: - )。

答案 2 :(得分:0)

另一种选择是将其包括在您正在编写的类/方法/函数之上:

# noinspection PyUnresolvedReferences