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

发布于 2024-12-15 08:21:57 字数 483 浏览 1 评论 0 原文

我喜欢 PyCharm,并且之前在我的 Python 项目中使用过它,但我刚刚开始使用 IronPython,我不知道如何使 PyCharm 或任何其他 IDE(除了工作正常的 VS)识别 .NET图书馆。

例如,我有以下代码:

from System.Environment import *

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

上面的代码工作正常,但“系统”部分到处都有灰色下划线,并显示消息“未解析的参考系统”。 IronPython 文档解释说,System 不是一个模块,而是一个命名空间。如果我执行type(system),我会得到。那么有没有办法让 PyC​​harm/PyDev 也识别命名空间呢?顺便说一句,路径很好,一切都很好。

I like PyCharm and have used it before for my Python projects, but I just started messing with IronPython and I can't figure out how to make PyCharm or any other IDE for that matter (except for VS which works fine) recognize the .NET libraries.

For example, I have the code:

from System.Environment import *

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

The above code works fine, but the "System" part is underlined grey everywhere with the message "Unresolved reference System". The IronPython documentation explains that System is not a module but rather a namespace. If I do type(system) I get <type 'namespace#'>. So is there a way to make PyCharm/PyDev recognize the namespaces as well? On a side note, the PATH is fine, everything is fine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

初雪 2024-12-22 08:21:57

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

For performance reasons, PyCharm does not generate Python stubs for .NET assemblies by default. You can trigger the generation by putting the caret on an unresolved reference in an import statement, pressing Alt-Enter and selecting the "Generate stubs for binary module ..." quickfix.

野却迷人 2024-12-22 08:21:57

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

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

from System import Environment

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

Just to note, this should work properly in PyDev (just make sure that you configure an IronPython interpreter and configure your project as an IronPython project).

Another note is that the code above should actually be:

from System import Environment

path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
↙温凉少女 2024-12-22 08:21:57

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

Not PyCharm but Michael Foord has info on how to do this w/ Wing: http://www.voidspace.org.uk/ironpython/wing-how-to.shtml - PyCharm may have some similar mechanism available.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文