繁体   English   中英

如何在 Visual Studio 2017 中为 Python 应用程序启用我自己的 .Net 库的智能感知?

[英]How to enable Intellisense of my own .Net library for a Python application in Visual Studio 2017?

我正在使用 pythonnet ( https://github.com/pythonnet/pythonnet ) 并在同一个解决方案空间中引用了一个 .Net 库,但它似乎没有提取任何用于 Intellisense 的信息。 事实上,VS 给出了一个错误:“无法解析“ReferenceLibarary”。这个模块可能缺少智能感知。那么我如何将智能感知添加到我的“模块”中?

即使有错误,脚本仍然可以运行(在 VS 内或外)。 我已经设置了彻底的 XML,因为还有一个用于 chm 输出的沙堡项目。 沙堡项目能否输出相应缺失的内容?

使用 ironpython-stubs 模块。

确保你的 dll 在 sys.path 中,然后从 ironpython ipy -m ironstubs make --output stubs.min 运行

然后将“python.autoComplete.extraPaths”设置为\\ironpython-stubs\\release\\stubs.min

奇迹般有效

彼得史蒂文斯的回答对我来说似乎很好。 他的解决方案使用IronPython 生成存根。 这些存根依次由 CPython 自动完成机制使用,例如,在 Visual Studio Code 中。

假设您有位于 c:\\dev\\HTL\\bin\\release\\HTL.dll 中的 ac# dll,您想从 Python 访问并且需要自动完成来帮助代码。 安装 IronPython 并下载 ironpython-stubs 模块后,您可以执行以下操作:

ipy -m ironstubs make HTL --path="c:\\dev\\HTL\\bin\\release\\HTL.dll" -output stubs.min

然后,正如彼得在上面的回应,在 VS Code 中使用 File | 偏好 | 将完整的 stubs.min 路径添加到“python.autoComplete.extraPaths”的设置。 在 VS Code 编辑器中将目标 dll 导入您的 *.py 文件后,您现在应该能够自动完成该 dll 中包含的类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM