Emacs插件列出python模块中的所有方法
是否有一个emacs插件,在侧窗格中列出模块中的所有方法 我正在寻找一个插件,该插件具有键盘快捷键,可以显示/隐藏当前打开的python模块文件中的所有方法。您可以查看(最好使用它,因为它适应了最新的Emacs和CEDET)-它可以显示有关从语义(CEDET子包)或通过Emacs插件列出python模块中的所有方法,python,emacs,Python,Emacs,是否有一个emacs插件,在侧窗格中列出模块中的所有方法 我正在寻找一个插件,该插件具有键盘快捷键,可以显示/隐藏当前打开的python模块文件中的所有方法。您可以查看(最好使用它,因为它适应了最新的Emacs和CEDET)-它可以显示有关从语义(CEDET子包)或通过imenu获取它的源代码的信息(适用于语义不支持的语言) Speedbar(包含在GNU Emacs中)也可以显示顶级对象的列表,但不显示导入之间的差异,以及其他顶级对象的功能。对于第一个问题,使用M-xspeed bar,就像A
imenu获取它的源代码的信息(适用于语义不支持的语言)
Speedbar(包含在GNU Emacs中)也可以显示顶级对象的列表,但不显示导入之间的差异,以及其他顶级对象的功能。对于第一个问题,使用M-xspeed bar
,就像Alex建议的那样
对于第二种,启用hs次要模式
,M-xhs次要模式
,并使用C-cC-@C-S-h隐藏所有方法,C-cC-@C-S-S显示。对我来说,快速查找方法的最简单和最方便的方法是命令helm-occure(C-x C-M-S o)。您开始键入要跳转到的方法的名称,并在键入时弹出建议。然后按enter键选择所需的方法,光标将跳转到代码中。Helm Occess并不是严格为此目的编写的,但这样做效果很好。我建议使用
C-C-o
运行elpy-occure定义,该定义创建一个新的缓冲区,其中包含所有类和函数签名的列表
您可以使用C-n
和C-p
浏览列表。
该模式适用于下一个错误跟踪次要模式。
因此,缓冲区内的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模式的必要补充。Speedbar很好,另一个不错的选择是helm imenu。我绑定了几个键,可以从不同的上下文快速访问它,并且大部分时间都在使用它。没有“第一个”和“第二个”问题。OP问题的第二句更详细地解释了第一句的意思。第一句要求“列出”。第二句要求“显示/隐藏”。不同的问题,尽管相关。在执行C-C C-o
时,我如何使其不使用已打开的缓冲区,而是打开一个新的缓冲区?helm Occurse将是elpy Occurse定义的一般替换。它使用helm作为底部窗格,然后键入关键字(例如def)并使用TAB跳转到所选项目。