最近看基于gevent和django的项目代码,频繁翻官网,但是还是有些地方官网说明不是很详细,就想通过看源码来看怎么使用,用ctag和virtualenv配合就很方便的实现了这个功能,而且看完源代码还能跳回来,继续阅读代码,快哉。
ctags和virtualenv简单介绍:
ctags查看代码的时候真的很方便,ctr+shift+鼠标左键就跳转到函数定义的地方了,然后ctr+shift+鼠标右键又能跳转回来,大大提高工作效率。
ctags是通过遍历一个目录下所有文件,生成一个.ctags文件来实现这个功能。
而virtualenv是在一个目录下模拟python安装环境,然后在这个虚拟环境里面装的所有模块都只供这个环境里面使用,不会和全局安装的(就是普通情况下安装的python模块)冲突,这样就能很方便的根据项目情况安装不同版本的模块了。
安装方法:
ctags安装:
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
virtualenv安装:
pip install virtualenvwrapper
cd ~ //普通用户权限
mkvirtualenv holytree1 //创建虚拟环境,holytree1是我创建的环境名称,创建后就自动进入环境了,然后就可以pip安装了
workon holytree1 //进入或者切换到hollytree1环境
ctags和virtualenv配合
我本机上创建好virtualenv环境的virtualenv目录:
/home/shaoxing/.virtualenvs/holytree1/
├── bin
├── build
├── djcelery
│ ├── static
│ │ └── djcelery
│ └── templates
│ ├── admin
│ └── djcelery
├── include
│ ├── go
│ │ └── protocol
│ └── python2.7 -> /usr/include/python2.7
├── lib
│ └── python2.7
│ ├── distutils
│ ├── encodings -> /usr/lib/python2.7/encodings
│ ├── lib-dynload -> /usr/lib/python2.7/lib-dynload
│ └── site-packages
├── local
│ ├── bin -> /home/shaoxing/.virtualenvs/holytree1/bin
│ ├── include -> /home/shaoxing/.virtualenvs/holytree1/include
│ └── lib -> /home/shaoxing/.virtualenvs/holytree1/lib
└── src
└── xadmin
├── demo_app
├── django_xadmin.egg-info
├── tests
└── xadmin
环境里安装的python模块就放在lib/site-packages下面的。
我的项目目录:~/work,此时,只需要在这个目录里创建一个/home/shaoxing/.virtualenvs/holytree1/目录的软链接,然后创建.ctags文件,sublime3里面右键work目录,选择ctags:bulid ctags,等待完成,这时你就可以很容易的根据项目代码查看到模块的源代码出处了,不需要上网去查,不需要去site-packages目录里去找,只需要在你调用的地方按下ctr+shift+鼠标左键,就能跳转过去,然后看完还能轻松跳转回来,简直不要太方便。。
本人出于个人兴趣,创建了一个个人公众号,每天筛选国外网友发现的有趣的事情推送到公众号,欢迎关注!