【发布时间】:2012-04-28 09:01:06
【问题描述】:
我在我的项目中使用virtualenv 和django,我正在尝试寻找一种更有效的方式来浏览django 源代码。
按照这里的建议 - Tools to help developers reading class hierarchy faster - 我通过 ctags 设置了自己
sudo port -v install ctags
并通过https://github.com/vim-scripts/taglist.vim安装了vim插件taglist
不幸的是,当我尝试通过 Ctrl+]“跳转”查看课程时,ctags 似乎无法找到我的 django 课程。
有什么建议可以让ctags 读取位于我的 virtualenv 中的 python 源代码吗?
更新
通过进一步的实验,我意识到ctags 是某种“索引”程序,它解析给定的目录/文件/文件并获取它找到的所有关键字(类名、方法名、函数名等)并将其写入文件。这个文件可以更新,vim 插件taglist 基本上从它读取,以知道当我对类/方法/函数名执行 Ctrlt 时将我发送到哪里.
所以我想出了一个临时和手动的解决方案,我在我的 vim 中执行,如下所示:-
:set tags=~/mytags
:! ctags -R -o ~/mytags ~/.virtualenvs/myprojectname
第一个命令告诉我的 vim/taglist 我的“索引”结果存储在哪里。
第二个命令通过递归搜索 (-R) 向下搜索 ~/.virtualenvs/myprojectname,将索引结果写入 ~/mytags 文件
如果我碰巧在不同的virtualenv 环境中,这是一种维护标签和标签更改的非常手动的方法。
有人知道管理这个ctags 进程的自动化方法吗?
【问题讨论】:
标签: python vim virtualenv ctags taglist