Emacs插件列出python模块中的所有方法

时间:2013-08-28 04:00:20

标签: python emacs

是否有emacs插件列出了侧窗格中模块中的所有方法。

我正在寻找一个插件,它有键盘快捷键来显示/隐藏当前打开的python模块文件中的所有方法。

5 个答案:

答案 0 :(得分:11)

我建议使用elpy

C-c C-o运行elpy-occurrence-definitions,它创建一个包含所有类和函数签名列表的新缓冲区。

您可以使用C-nC-p导航列表。 该模式适用于下一个错误跟随次要模式。 因此缓冲区内的C-c C-f可以跳转到所选的类或函数定义。

这是该缓冲区内容的一个示例:

8 matches for "^ *\(def\|class\) " in buffer: leveling_utils.py
 11:def leveling(episodes_with_potential_associations_by_member):
 26:def _apply_leveling(sorted_episodes):
 41:def _set_non_chronic_associations(episode):
 73:def _apply_sub_to_procedural_association(assoc):
 94:def _set_chronic_associations(episode):
102:def _set_associations_for_self(episode):
118:def _set_to_actual(association):
122:def _log_actual_associations(member, leveled_episodes):

顺便说一句,它还有许多其他有用的功能,使它成为python模式的必要补充。

答案 1 :(得分:2)

您可以查看ECB(最好采用它my fork,因为它适用于新的Emacs和CEDET) - 它可以显示从Semantic(CEDET子包)获取源代码的信息)或通过imenu(对于语义不支持的语言)。

Speedbar(包含在GNU Emacs中)也可以显示顶级对象列表,但不显示导入之间的差异,其他顶级东西的功能

答案 2 :(得分:2)

对于第一个问题,请像Alex建议的那样使用 M-x speed-bar

对于第二个,启用hs-minor-mode Mx hs-minor-mode,并使用 Cc C - @ CSh 隐藏所有方法,并显示 Cc C - @ CSs

答案 3 :(得分:0)

对我来说,快速查找方法的最简单,最方便的方法是命令helm-occurrence(C-x c M-s o)。您开始键入要跳转到的方法的名称,并在键入时开始弹出建议。然后按Enter键选择所需的那个,光标会在代码中跳转到那里。为此目的,并没有严格地写出头盔,但这种方式效果很好。

答案 4 :(得分:0)

Speedbar很好,另一个不错的选择是helm-imenu。我绑定了几个键,可以从不同的上下文中快速访问它并在大多数时间使用它