Android源码代码量大,且非AS、ES工程,直接查看起来非常吃力,借助有效的代码查看工具将会事半功倍。
Windows上我们一般使用souce insight查看Android源码(或其他一些复杂的代码),其很大一个功能就是能将代码进行关联,查看过程中可以直接进行方法、类、变量的跳转、跟踪。可惜,souce insight暂时不支持mac系统,那么,在mac电脑上是否也有类似的一款软件呢?答案当然是有(没有就不会有这篇帖子了...),它就是sublime text。
本人使用的是sublime text3,所以本篇文章只针对sub3,sub2配置是否适用不做保证。
好了,下面说说怎么配置sublime text3,配置主要分两部分:
1. 配置sublime text3支持ctags:
1.1 下载sublime text3镜像并安装,too easy,略过...
1.2 sublime3下载package control:View->show console打开控制台,控制台输入如下命令(注意使用英文标点,该命令为python脚本,末尾以分号结尾!):
import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());
1.3 sublime3安装package control:Preference->Package control,输入“Install Package:”,注意输入完成后不要回车,等待自动加载插件列表,在加载的列表中选择Ctag。
1.4 Preference->Package Settings,如果有CTags,则说明安装成功。接下来可以在sublime text3中进行相应的配置。
1.5 sublime配置CTags:Preference->Package settings,分别点击打开Settings-Default和Settings-User,将Settings_Default中内容全部复制到Settings-User中,保存一下,然后在Settings-User中找到 “command”:“” 配置项(默认为空),填写mac上安装的ctags的路径,本人的为“/usr/local/bin/ctags”,这个路径哪里来的呢,接下来的第二部分mac安装ctags将会介绍。
2. mac安装ctags:
mac打开terminal(终端),输入 brew install ctags,回车,对,就这么简单!
还记得1.5中的地址吗,如何获取呢,terminal中输入which ctags,回车,把terminal输出的地址复制到1.5中,对,还是这么简单!
3. 简单的疑难解答:
3.1 第一部分中1.2步骤执行不了:不用犹豫,python脚本拷贝错了,检查一下看是否有中文标点,是否每句脚本末尾都有分号,特别注意最末尾的“;”,千万不要丢了!
3.2 CTags Rebuild Tags出现如下图错误:
出现这个问题是因为你的mac上没有安装ctags,不要犹豫,赶紧重复第二部分动作。
3.3 Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError):这个错误在第二部分brew install ctags命令后出现,如下:
/usr/local/Homebrew/Library/Homebrew/brew.rb:12:in `<main>': Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
报错信息已经很明显了,ruby版本不对,需要升级到2.3或以上,那就先升级ruby呗。terminal中输入brew install @2.3,回车,对,仍然是这么简单!完成后terminal中输入ruby -version确认一下版本是否是2.3。
至此,整个配置sublime text3查看源码完成了,贱贱的查看源码:Project->Add Folder to Project...
修改跳转快捷键:Preference->Package settings->CTags->Mouse Bindings-Default内容拷贝到Mouse Bindings-user中,修改其中的“modifiers”字段,默认为["ctrl','shift'],比如改成[“command”],即command