Zev*_*itz 9 python jedi win32com visual-studio-code
我安装了Python Extensions for Windows.在PythonWin IDE中,我可以在Automation对象(特别是创建的对象win32com.client.Dispatch)上获得自动完成功能:
如何在VS Code中获得相同的自动完成功能?
我正在使用Microsoft Python扩展.
Python Windows Extensions有一个名为COM Makepy的工具,它显然生成了Automation对象的Python表示,但我无法弄清楚如何使用它.
更新
显然,Microsoft Python扩展使用Jedi进行自动完成.
我在Github上的扩展项目中提出了一个问题.
请注意,我通常在Python中使用Intellisense; 它只是我缺少的自动化对象上的Intellisense.
小智 3
我认为您展示的示例不PythonWin容易在 VS Code 中重现。快速入门指南win32com本身(如下引用)指出,只有使用 COM 浏览器或产品文档(本例中为 Word)才可能实现。后一种可能性不大,因此PythonWin可能使用 COM 浏览器来查找属性。由于PythonWin和位于同一个包中,因此内置 COM 浏览器的win32com可能性也不是很大。PythonWin
我如何知道哪些方法和属性可用?
好问题。这很难!您需要使用产品的文档,或者可能需要使用 COM 浏览器。但请注意,COM 浏览器通常依赖于这些对象以某种方式注册自身,但许多对象并不这样做。只是希望你知道。
如果您想要VS Code 插件具有相同的功能,则必须将 COM 浏览器实现到Jedi(VS Code 插件的 IntelliSense)中。
编辑:我发现了这个建议,关于如何完成可以找到这些隐藏属性的自动完成:
这些包装器会执行各种使静态分析变得困难的事情,除非我们对它们进行特殊处理。这种情况的一般解决方案是运行到断点并在实时运行时状态下工作。然后,自动完成器应该包含完整的符号列表,因为它会检查运行时。
该对话来自 python IDE wingwide的邮件列表。在这里您可以看到,他们实施了上述方法:
| 归档时间: |
|
| 查看次数: |
1532 次 |
| 最近记录: |