使用vim,ctags和其他工具检查源代码

时间:2013-06-18 09:40:20

标签: python vim ctags

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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