是否有emacs插件列出了侧窗格中模块中的所有方法。
我正在寻找一个插件,它有键盘快捷键来显示/隐藏当前打开的python模块文件中的所有方法。
答案 0 :(得分:11)
我建议使用elpy。
C-c C-o
运行elpy-occurrence-definitions,它创建一个包含所有类和函数签名列表的新缓冲区。
您可以使用C-n
和C-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。我绑定了几个键,可以从不同的上下文中快速访问它并在大多数时间使用它