我正在 VS Code 中使用 Python 3 进行编程,使用 Python.NET 与基于 .NET 的 API (AudioPrecision.API.dll) 进行交互。我想在 Visual Studio 中使用类似于 Intellisense 的自动完成功能,以便更轻松地查找和编写 API。
我已经使用这里的答案得到了大部分的帮助: 如何在 vi 中为 python 应用程序启用我自己的网络库的智能感知
即:
安装IronPython 2.7
下载 IronPython-Stubs
打开cmd.exe,光盘到Stubs下载目录。
使用以下参数运行 IronPython-Stubs:
"C:\\Program Files\\IronPython 2.7\\ipy.exe" -m ironstubs make AudioPrecision.API --path="c:\\Program Files\\Audio Precision\\APx500 8.0\\API\\AudioPrecision.API.dll" --output stubs.min --overwrite
最后,更新 VSCode 设置中的 ExtraPaths 以包括:
C:\Users\...\\ironpython-stubs-master\ironpython-stubs-master\release\stubs.min
不幸的是,虽然自动完成现在可以在第一级工作,例如:
APx.AcousticResponse
它无法再往下工作,例如:
APx.AcousticResponse.RmsLevel
有什么办法可以解决这个问题吗?
一种方法是您可以尝试将 settings.json
中的
python.autoComplete.extraPaths设置为预加载的 IntelliSense。
另一种方法是尝试让IntelliSense做更深层次的检索。
只要您愿意支付性能费用,您可以将以下代码添加到您的设置中来执行此操作。
"python.analysis.packageIndexDepths": [
{
"depth": 100,
"includeAllSymbols": true,
"name": ""
},
],