3

有很多关于如何使用 vim/ctags 浏览源代码的信息,例如跳转到标签、导航标签堆栈、搜索标签匹配等。

但是,我找不到有关如何实际检查源代码及其结构的信息,类似于某些 IDE 中的“源浏览器”工具。

以下是我希望能够使用 vim 对 Python 源代码执行的操作,尽管对于某些其他语言可能同样如此:

  1. 列出当前文件(模块)的所有成员,即模块中定义的顶级类、函数和/或变量。
  2. 列出给定类的所有方法和属性。
  3. 跳转到给定类中的成员,例如:tag ClassName.my_method.
  4. 列出包成员/层次结构。
4

2 回答 2

2

您想要的一些东西(至少是“列表”部分)可以使用TagListTagBar完成,但我担心您将 Vim 与 IDE 混淆了。

于 2013-06-18T10:10:26.700 回答
1

你看过绳子吗?

http://rope.sourceforge.net/ropevim.html

特征

绳索重构:

  • 重命名任何东西!
  • 提取方法/局部变量
  • 移动类/函数/模块/包/方法
  • 内联方法/局部变量/参数
  • 重组(例如将“${a}.f(${b})”转换为“${b}.g(${a})”,其中“a: type=mymod.A”)
  • 介绍工厂
  • 更改方法签名
  • 将模块转换为包
  • 封装字段
  • 用方法对象替换方法
  • 还有其他几个...

绳子可以:

  • 在提取重构中提取相似语句
  • 在需要时修复导入
  • 预览重构
  • 撤消/重做重构
  • 中断重构
  • 执行跨项目重构
  • 处理重命名和更改签名中的基本隐式接口
  • 在重构中支持 Mercurial、GIT、Darcs 和 SVN

Rope 还可以帮助 IDE:

  • 自动完成
  • 查找定义位置
  • 获取 pydoc
  • 查找事件
  • 组织导入(删除未使用和重复的导入并对其进行排序)
  • 生成python元素

http://rope.sourceforge.net/index.html

于 2014-03-19T20:37:34.360 回答