如何修复 VS Code 自动完成功能以访问 Python.NET - .NET 程序集接口的所有层?

问题描述 投票:0回答:1

我正在 VS Code 中使用 Python 3 进行编程,使用 Python.NET 与基于 .NET 的 API (AudioPrecision.API.dll) 进行交互。我想在 Visual Studio 中使用类似于 Intellisense 的自动完成功能,以便更轻松地查找和编写 API。

我已经使用这里的答案得到了大部分的帮助: 如何在 vi 中为 python 应用程序启用我自己的网络库的智能感知

即:

  1. 安装IronPython 2.7

  2. 下载 IronPython-Stubs

  3. 打开cmd.exe,光盘到Stubs下载目录。

  4. 使用以下参数运行 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
    
  5. 最后,更新 VSCode 设置中的 ExtraPaths 以包括:

    C:\Users\...\\ironpython-stubs-master\ironpython-stubs-master\release\stubs.min
    

不幸的是,虽然自动完成现在可以在第一级工作,例如:

APx.AcousticResponse

Auto-complete working in VSCode

它无法再往下工作,例如:

APx.AcousticResponse.RmsLevel

Auto-complete not working in VSCode

有什么办法可以解决这个问题吗?

python visual-studio-code .net-assembly ironpython python.net
1个回答
0
投票

一种方法是您可以尝试将 settings.json 中的

python.autoComplete.extraPaths
设置为预加载的 IntelliSense。

另一种方法是尝试让IntelliSense做更深层次的检索。

只要您愿意支付性能费用,您可以将以下代码添加到您的设置中来执行此操作。

  "python.analysis.packageIndexDepths": [
    {
      "depth": 100,
      "includeAllSymbols": true,
      "name": ""
    },
  ],
© www.soinside.com 2019 - 2024. All rights reserved.