問題タブ [python-jedi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-jedi - C++ ライブラリのオートコンプリートのために __doc__ を正しく設定する方法
pybind11 モジュールがあり、そのクラスと関数の Jedi によるコード補完が必要です。私たちのアプローチは、関数の docstring を設定して__doc__
、Jedi がそれらを使用して完了できるようにすることでした。呼び出すcompletions()
と、空のリストが取得されます。Jedi は、set_debug_function 経由でも、エラーを出力しません。
モジュールへのパスを、Jedi に渡される文字列に設定します。モジュールのインポートもこの文字列に含まれます。
Jedi がカスタム C++ ライブラリのクラスと関数をオートコンプリートするにはどうすればよいでしょうか? これは一般的に使用して機能しますか__doc__
?もしそうなら、フォーマットはどのようになりますか?
更新: Dave のコメントのおかげで、問題をさらに分析することができました。次に例を示します。
set_debug_function()
を完了するための Jedi 0.14.0の出力は次のとおりですbb.
。
Jedi がオブジェクト インスタンスの完了を返さないのはなぜbb
ですか? dir(bb)
シェルで動作し、次の出力を生成します。
更新 #2 ヒント: ジェダイ インタープリターは、オブジェクトを完成させることができます。
物自体には問題ないと判断しております。
更新 #3:
オブジェクトのオートコンプリートは jedi 0.11.1 では機能しますが、0.14.0 では機能しません。それ以降のバージョンでは何かが壊れていると想定しています。