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

4 投票
3 回答
2104 浏览
提问于 2025-04-17 06:12

我喜欢使用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,选择“为二进制模块生成占位符...”这个快速修复选项。

撰写回答