あなたは完全に頭がおかしいわけではありません。
python-mode
と統合しeldoc-mode
て、ポイントで呼び出している関数の引数仕様を表示できます。M-x eldoc-mode
Python ファイルを使用しているときにオンにするだけで、動作を開始するはずです。関数を直接検査するために下位の python バッファと通信するため、常にかなり正確である必要があります。emacs 起動ファイルで、すべての新しいpython-mode
バッファに対して自動的にオンにすることができます。(add-hook 'python-mode-hook '(lambda () (eldoc-mode 1)) t)
さて、この時点で、私は通常の Python プログラミングを行っていないことを言わなければなりません。ソースコードを数分間調べてみたところ、すべてが整っているように見えますが、下位プロセスで実行されるコードは空の文字列を返すだけです。おそらく、これは私のセットアップの問題か、間違ったソース ファイルを読み込んでいる可能性があります。言うのが難しい。
Emacs は、いくつかの異なるタイプの展開/オートコンプリートを提供します。デフォルトでは、 を押すことでアクセスできdabbrev-expand
ますM-/
。これはかなり単純な補完形式です。たまたま編集した古いファイルで動作することを意図しています。より洗練されたのは ですがhippie-expand
、それでも python 固有のことは何もしません。hippie-expand
ドキュメントには、正確な補完のためにと統合できると書かれていますが、これは嘘かもしれません。私はそれがどのように機能するか理解できませんでした。少し調べてみると、これに関連するいくつかのソリューションが示されていますが、それらはすべて に依存しているようですpymacs
。たくさんの python プログラミングをする予定で、まだかなり複雑な emacs をセットアップしていない場合は、おそらくemacs-for-python をインストールすることから始めるでしょう。. それはかなり完全なセットアップのように見え、ライブ警告/エラー検出があるとさえ主張しています.
他の人が自分自身を助けるのを助けるという精神で、私がこのすべての情報にどのようにたどり着いたかを指摘したいと思います. 私の最初のステップは、でファイルを開くことでしたpython-mode
。実際に使用できる Python コードがなかったので、スクラッチ バッファーに移動して、それを Python バッファー ( M-x python-mode
) にしました。次に、この奇妙な新しいモード ( ) について助けを求め、C-h m
何ができるかを確認しました。その作者は親切にもモードができることの簡単な要約を書いてくれましeldoc-mode
た. そこからソースコードを見始めました。たとえば、eldoc-mode と統合するには、次の関数を定義します。outline-mode
hippie-expand
python-eldoc-function
そして、それを eldoc モジュールに渡して、python バッファで使用します。そのコードを読むと、下位バッファなどとどのように相互作用するかがわかります。
これがいくつか役立つことを願っています。