私はどのクラス、メソッド、または関数に属していますか?


7

インクリメンタル検索でソースファイルをナビゲートすると、ウィンドウよりも高いコンテキストにジャンプすることがよくあります。これは、「どのクラスに属しているか」という質問を引き起こします。または、前の開発者が背の高いメソッドを書く傾向がある場合:「どのクラスとメソッドが入っていますか?」

私は現在、これらの質問に答えて、検索を中断して新しい正規表現検索を逆方向に開始しC g、次にでこの検索をキャンセルして、何でもします(通常は検索を再開します)。しかし、これは頻繁に起こります。クラス/メソッドのコンテキストをミニバッファーに出力するための単一のコマンドが必要なように感じます。あるいは、そのコンテキストが常に表示されていればなおさらです。(私はそのためのウィンドウの行をあきらめます。)

このかゆみをすでに掻き消しているEmacsガジェットはありますか?または、私はこれについて完全に間違った方法で進んでいますか?それが重要であれば、私はたまたまPythonとJavaで作業しています。

回答:


9

which-function-mode 現在のメソッド名を表示します。

Emacs Reduxから取得した次の構成は、現在のメソッド/関数/ orgmodeの見出しを、モード行ではなく上部のヘッダー行に表示します。

;; Show the current function name in the header line
(which-function-mode)
(setq-default header-line-format
              '((which-func-mode ("" which-func-format " "))))
(setq mode-line-misc-info
            ;; We remove Which Function Mode from the mode line, because it's mostly
            ;; invisible here anyway.
            (assq-delete-all 'which-func-mode mode-line-misc-info))

の完全な説明については、リンクされた記事を確認してくださいwhich-function-mode


ありがとうございました。を有効which-function-modeにしましたが、PythonでもJavaでも何も表示されません。しかし、私はC ++について何かを見ています。(おそらく私のEmacsは古すぎるでしょう。)
davidrmcharles

which-function-modeJythonモードでは機能しません。ただし、JythonモードからPythonモードに移行するのは簡単ではありません。
davidrmcharles
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.