如何让PyCharm/PyDev/其他IDE为IronPython命名空间提供代码补全?
我喜欢使用PyCharm,之前也用它做过Python项目,但最近我开始尝试IronPython,发现我不知道怎么让PyCharm或者其他的开发工具(除了VS,那个可以正常工作)识别.NET的库。
比如说,我有以下代码:
from System.Environment import *
path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
上面的代码运行得很好,但“System”部分在各处都显示为灰色下划线,并提示“未解决的引用System”。IronPython的文档解释说,System不是一个模块,而是一个命名空间。如果我输入type(system)
,我会得到<type 'namespace#'>
。那么,有没有办法让PyCharm/PyDev也能识别这些命名空间呢?顺便说一下,路径设置是没问题的,一切都正常。
3 个回答
0
不是PyCharm,但Michael Foord有关于如何在Wing中做到这一点的信息:http://www.voidspace.org.uk/ironpython/wing-how-to.shtml - PyCharm可能也有类似的功能。
3
需要说明的是,这个在PyDev中应该能正常工作(只要确保你配置了IronPython解释器,并把你的项目设置为IronPython项目就可以了)。
还有一点要提的是,上面的代码其实应该是:
from System import Environment
path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
5
为了提高性能,PyCharm 默认情况下不会为 .NET 组件生成 Python 的占位符文件。如果你想生成这些占位符,可以把光标放在导入语句中未解决的引用上,然后按下 Alt-Enter,选择“为二进制模块生成占位符...”这个快速修复选项。