如何让PyCharm / PyDev /其他IDE为IronPython命名空间提供代码完成?

时间:2011-11-13 04:07:12

标签: python namespaces ironpython pydev pycharm

我喜欢PyCharm并且之前已经将它用于我的Python项目,但我刚开始搞乱IronPython并且我无法弄清楚如何制作PyCharm或任何其他IDE(除了VS工作正常)识别.NET库。

例如,我有代码:

from System.Environment import *

path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

上面的代码工作正常,但“系统”部分用“未解析的参考系统”消息加下划线。 IronPython文档解释说System不是模块,而是命名空间。如果我type(system),我会<type 'namespace#'>。那么有没有办法让PyCharm / PyDev识别命名空间呢?另外,PATH很好,一切都很好。

3 个答案:

答案 0 :(得分:5)

出于性能原因,默认情况下,PyCharm不会为.NET程序集生成Python存根。您可以通过在插入语句中将插入符号放在未解析的引用上来触发生成,按Alt-Enter并选择“为二进制模块生成存根...”quickfix。

答案 1 :(得分:3)

请注意,这应该在PyDev中正常工作(只需确保配置IronPython解释器并将项目配置为IronPython项目)。

另一个注意事项是上面的代码实际应该是:

from System import Environment

path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

答案 2 :(得分:0)

不是PyCharm,但是Michael Foord有关于如何使用翼的信息:http://www.voidspace.org.uk/ironpython/wing-how-to.shtml - PyCharm可能有一些类似的机制可用。