問題タブ [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.

0 投票する
0 に答える
371 参照

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 では機能しません。それ以降のバージョンでは何かが壊れていると想定しています。