告诉pydev从分析中排除整个包?

时间:2010-08-31 00:19:11

标签: code-analysis pydev

今天我的任务是从pydev的django项目中移除小红色X.大多数情况下,这涉及使用pydev修复导入问题。

我正在使用South进行数据库迁移。南(如果你不知道)生成python模块,pydev不喜欢它们。我不想编辑南方代码,因为它是生成的。

有没有办法指示pydev从分析中排除某些包?像#@UndefinedVariable之类的东西,除了整个模块?理想情况下,我想忽略名为“迁移”的包。

4 个答案:

答案 0 :(得分:5)

在南方,我在south/management/datamigration.pysouth/management/schemamigration.py的模板中添加了“#@ PydevCodeAnalysisIgnore”。它不会让我忽略整个包,但是很好地满足了我的目的。

答案 1 :(得分:1)

我有很多生成的代码。为了避免PyDev投诉,我按如下方式对这些模块进行后处理(bash脚本):

for file in `find gen -name '*.py'`; do
    mv $file $file.bak
    echo '#@PydevCodeAnalysisIgnore' > $file
    cat $file.bak >> $file
    rm $file.bak
done

答案 2 :(得分:1)

是的,您可以将#@PydevCodeAnalysisIgnore放在要忽略的每个文件的开头,但这意味着您要编写IDE,这不是最佳做法。我更喜欢改变我的项目设置,以便

  1. Eclipse忽略了一些麻烦的模式(添加到首选项 - > PyDev - >编辑器 - >代码分析 - >未定义
  2. Eclipse会忽略一些麻烦的文件(通过向项目属性添加排除过滤器 - >资源 - >资源过滤器 - >添加过滤器...
  3. 在您的特定情况下,我遇到了完全相同的问题,并决定将Eclipse迁移排除在Eclipse项目之外。在我需要编辑这些自动生成的文件的少数情况下,我没有使用Eclipse。

    更新: 另一个选择是右键单击您的项目并选择PyDev - >删除错误标记 - 但如果有任何您不想隐藏的错误,请不要这样做!

答案 3 :(得分:0)

尽管就禁用单个迁移文件而言,这与该问题没有直接关系,但PyDev内置的代码分析功能使我在Windows上感到非常头疼,因为在Mac OS上,相同的项目和设置没有问题。这使我想到了一个问题,即如何禁用某些资源的分析。该项目有一个很大的文件夹部分,使用Eclipse->(该文件夹)-> Properties-> Resources-> Filter(排除)甚至没有帮助排除此资源。

将排除项与使用PyLint一起修复了异常缓慢的构建时间。 YMMV。