簡體   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