下面由sublime教程栏目给大家介绍在sublime text中怎么实现函数跟踪跳转(ctags),希望对需要的朋友有所帮助!
在source insight中有一个很好用的功能,就是函数的跟踪跳转,在阅读别人的代码的时候轻松的浏览原函数。我们知道,在使用vim的时候有个插件叫ctags,同理,在sublime text中也能是使用ctags实现相同的功能。
下面介绍下如何在sublime text中安装使用ctags:
1,安装package control:(如已安装请忽略)
(参考https://packagecontrol.io/installation#st3)
简单的安装方法:
从菜单 View – Show Console 或者 ctrl + ~ 快捷键,调出 console。将以下 Python 代码粘贴进去并 enter 执行,不出意外即完成安装。以下提供 ST3 和 ST2 的安装代码:
Sublime Text 3:
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())
Sublime Text 2:
import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
手动安装:
可能由于各种原因,无法使用代码安装,那可以通过以下步骤手动安装Package Control:
11.点击Preferences > Browse Packages菜单
12.进入打开的目录的上层目录,然后再进入Installed Packages/目录
13.下载 Package Control.sublime-package 并复制到Installed Packages/目录
14.重启Sublime Text。
Package Control 主文件下载地址:https://github.com/wbond/sublime_package_control
使用方法:
快捷键 Ctrl+Shift+P(菜单 – Tools – Command Paletter),输入 install 选中Install Package并回车,输入或选择你需要的插件回车就安装了(注意左下角的小文字变化,会提示安装成功)。
2,下载最新的ctags到非中文目录,这里,我们推荐c:windowssystem32,ctags可从http://ctags.sourceforge.net/下载,最后更新是在09年,版本5.8;
下载后解压ctags.exe到c:windowssystem32目录下;
3,在sublime text中的package control install下安装ctags
快捷键ctrl+shift+p,输入pci,再在命令行中输入ctags安装
4,配置ctags路径
打开ctags的settings-default,并复制全部代码,将其粘贴到setting-user中;
并在以上位置加入你的ctags路径;
5,使用,在使用函数调转功能前,需要先生成.tags文件,只需在项目文件管理器的项目文件上右键点击Ctags:Rebuild Tags即可(注意,在改动文件之后也许重新生成.tags)
6,所有工作都准备充分之后,就可以在函数名上右键点击navigate 头definition跳转到指定函数了,返回用jump back;