app = win32com.client.Dispatch('Some.Application')
を使用している場合、PyCharmでコード補完を実行する方法はありますか? APIのドキュメントからすべてを再入力(またはコピー・ペースト)しなければならないのはやや面倒なので、skeletonsを作成することになります。特に、私が.tlb
ファイルを提供できる場合、COM経由で提供されるインタフェースについてPyCharmに知らせる他の方法はありませんか?または、少なくとも何らかの方法で、このようなスケルトン(またはラッピングモジュール?)をTypeLibから自動的に生成しますか?PyCharmでCOMプログラミングのコード補完を取得するには?
2
A
答えて
3
PyCharmがランタイムタイプapp
を知る方法がないので、app
にコード補完を直接期待するべきではありません。少なくとも型ライブラリからコードを生成する組み込みのサポートを追加することを決定するまでは、そうではありません。
win32com
は、the first part of this answerに記載されているようにタイプライブラリに基づいて暗黙的にコードを生成し、PythonのタイプヒントのサポートによってCOMメソッドのコード補完を暗黙的に利用することができます。
- Pythonタイプが生成されていることを確認してください。それらの場所はCOMオブジェクトのGUIDによって決まります。たとえば、私のマシン上のMicrosoft Word 2016のタイプは
C:\Users\username\appdata\local\temp\gen_py\3.6\00020905-0000-0000-c000-000000000046x0x8x7\
で利用できます。 - このフォルダをPyCharm Pythonインタプリタのパスに追加します。例えば、 this answer。
- コード補完を行うモジュールをインポートします。私たちは、Wordの
Find
で、このアプローチを使用して、以下のスクリーンショットで
、:
今、汚い感じのほかに、このアプローチは、生成された関連の種類に依存し、コード補完はオブジェクトによって公開されたメソッドに限られているので、実際にはその有用性はいくらか限定されるかもしれないと思います。特に、コードを操作しているすべての人がコードを生成する必要があります。そうしないと、注釈によってNameError
が生成されます。個人的には、実装プロセスの探索的な部分にJupyterを使用することをお勧めします。the answer mentioned aboveで概説されている最小限の調整で、Jupyterを拡張してwin32com
で完全なコード補完を行うことができます。
+0
最高のオプションのようなサウンド、ありがとう –
関連する問題
- 1. PyCharmコード補完で古い提案が得られます
- 2. PyCharmコードの補完はコンソールではなくエディタで行われます
- 3. Pycharm:コード補完が推奨されていない
- 4. Netbeansのコード補完
- 5. Xcodeのコード補完
- 6. Eclipseでのコード補完/プロジェクトタイプ
- 7. Pycharm 5.0.4自動補完が完全に機能しない
- 8. PycharmをAnabilitiesプラグインで変数のコード補完を行うにはどうすればいいですか?
- 9. タブ補完私は私の.bashrcの中に以下のコードの塊でタブ補完を取得するのは非常に嬉しい
- 10. NSManagedObjectは、シンタックスハイライトやコード補完
- 11. コード補完とファクトリパターン
- 12. EclipseでNode.jsのコード補完を取得するにはどうすればよいですか?
- 13. Roslynで補完する方法の引数を取得するには?
- 14. Javaのコード補完エンジン
- 15. PGAdminダイアログのコード補完
- 16. コード補完@propertyのPhpStorm
- 17. vimの内部コード補完
- 18. MacRuby/PyObjC/RubyMotionのコード補完
- 19. Firebugコマンドエディタのコード補完
- 20. Eclipse:コード補完のブラックリストタイプ
- 21. Visual Studioのコード補完2015
- 22. Firebug 1.6でコード補完を無効にする方法は?
- 23. TensorFlowのCコードのコード補完
- 24. XCode4でのマルチパラメータメソッド名のコード補完
- 25. Xcodeコード補完候補を編集できますか?
- 26. Bazelビルド、プロトタイプ、コード補完
- 27. Scala Help needed - コード補完
- 28. NHibernateコード補完Visual Studio
- 29. Xcode 8コード補完:ドキュメンテーション
- 30. エクセルVBAコード補完(メソッド|プロパティ)
[win32com-autocompletionの使い方](https://stackoverflow.com/q/26990655/321973) - 私は数年後に同様の質問をもう一度やり直す傾向があることに気付きました。しかし、[tag:ipython]と 'EnsureDispatch'について質問してください。 –