[Android] osx下如何使用SublimeText阅读Android系统源码
reference to : http://www.jianshu.com/p/c295d2729ecf
平时使用Sublimetext都是打开单个文件,这次要导入几万个文件,这在一些ide中称为project。同样在Sublime中也是如此。
1. 创建工程
Project > Add Folder to Project 选择源码目录即可
这时在窗口左边栏中将出现刚刚添加的文件目录,如果还需要添加其他目录,则重复这一操作即可。
2. 保存工程
Project > Save Project As
点击保存后Sublime Text将自动生成两个文件:
project_name.sumlime-project:包含工程定义,该文件会被记录到版本控制里。
project_name.sublim-workspace:包含了用户的工程数据,例如打开的文件和修改等,该文件不会被记录到版本控制里。
在.sublime-project文件中,你可以定义工程配置。例如你可以定义多个目录路径,或者哪些目录或文件需要排除在外。例如:
以上.sublime-project文件中定义了两个目录,而“name”标签是该目录在Sublime Text的左边栏中显示的名字。通过定义“name”,你可以将一些长路径或者名字很长的目录以更简洁的名称显示在左边栏中。
3、添加索引
- 安装Package Control插件
1.打开控制台方法1:View->show console 方法2:ctrl+~
2.输入代码:
python2.x代码:import urllib2,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(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
python3.x代码:
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())
安装CTags
- 首先 Preference -> Browser Packages... 查看是否已经安装了CTags Package,如果没有则继续下面步骤
- Preference -> Package control, 输入“install package”,它会找出你可以安装的插件,在列表中选择ctag插件进行安装
3.创建索引
4、异常处理
- 期间出现Package Control:There are no packages available for installation弹窗提示
选择Preference->Browser Packages打开文件夹后
删除Package Control目录、删除User目录下相关Package Control名称文件等,再次安装。 - ctag rebuild时弹窗异常如图:
这是因为我们还没有安装和配置ctags
下载ctags-5.8.tar.gz解压并编译,依次执行如下命令:
tar xzvf ctags-5.8.tar.gz
cd ctags-5.8
./configure
make
sudo make install
打开Preference ->Package settings->ctags->settings-user和settings-default
把default中的配置全部复制到user中,然后改一下command配置项,为ctags的可执行文件路径/usr/local/bin/ctags(可以通过which ctags命令查看ctags路径)
5、快捷键
- 修改跳转
默认函数跳转:Ctrl+shift+左键; 跳转返回:Ctrl+shift+右键。修改方法:
Perference->Package Settings->CTags->Mouse Binding Default->复制到Mouse Binding User,把里面的"ctrl+shift",修改为“command”,这样就可以用“command+左键”跳转了:Command+P:查找文件Command+R:查找方法Command+左键:文件或函数跳转 Command+右键:返回文件或函数跳转的原始位置
至此Android源码项目创建完成并创建索引,代码跳转也反应迅速。
作者:Jenson_
链接:http://www.jianshu.com/p/c295d2729ecf
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
转载于:https://www.cnblogs.com/0616--ataozhijia/p/7523724.html
[Android] osx下如何使用SublimeText阅读Android系统源码相关推荐
- java计算机毕业设计小说阅读网站系统源码+系统+数据库+lw文档+mybatis+运行部署
java计算机毕业设计小说阅读网站系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计小说阅读网站系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈 ...
- java计算机毕业设计小说阅读网站系统源码+lw文档+系统+数据库
java计算机毕业设计小说阅读网站系统源码+lw文档+系统+数据库 java计算机毕业设计小说阅读网站系统源码+lw文档+系统+数据库 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...
- Thinkphp内核自动挂机阅读文章系统源码
☑️ 编号:ym364 ☑️ 品牌:无 ☑️ 语言:php ☑️ 大小:18.3MB ☑️ 类型:自动挂机阅读 ☑️ 支持:pc+wap
- android新闻项目、饮食助手、下拉刷新、自定义View进度条、ReactNative阅读器等源码...
Android精选源码 Android仿照36Kr官方新闻项目课程源码 一个优雅美观的下拉刷新布局,众多样式可选 安卓版本的VegaScroll滚动布局 android物流详情的弹框 健身饮食记录助手 ...
- Android FrameWork 系统源码调试
这是很久以前访问掘金的时候 无意间看到的一个关于Android的文章,作者更细心,分阶段的将学习步骤记录在自己博客中,我觉得很有用,想作为分享同时也是留下自己知识的一些欠缺收藏起来,今后做项目的时候会 ...
- Android FrameWork 学习之Android 系统源码调试
这是很久以前访问掘金的时候 无意间看到的一个关于Android的文章,作者更细心,分阶段的将学习步骤记录在自己博客中,我觉得很有用,想作为分享同时也是留下自己知识的一些欠缺收藏起来,今后做项目的时候会 ...
- Android FrameWork学习(一)Android 7 0系统源码下载 编译
最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...
- Android FrameWork学习(一)Android 7.0系统源码下载\编译
重点内容 转载. http://blog.csdn.net/cjpx00008/article/details/60474883 硬件环境要求 1. 编译环境 按照官方的说法,编译Android 2. ...
- Android系统源码下载及使用(Android 14到19源码)
在创建了Android项目之后,会根据向导中Compile With的版本: 在随后创建成功的项目中显示该版本,在项目的结构显示如下: 展开android.jar,会得到系统的框架如下: 这些类和函数 ...
最新文章
- 独家 | Python利用深度学习进行文本摘要的综合指南(附教程)
- Atiti。流量提升软件设计大纲规划 v1 q45
- 【IM】关于半监督学习的理解
- python从图片里提取主要颜色
- scp linux 自动化,expect(spawn) 自动化git提交和scp拷贝---centos(linux)
- ❤️什么是Java 面向对象《装、继承、多态、抽象》?建议收藏)❤️
- redis 实战系列二:用python操作redis集群
- 启科量子在2022全球数字经济大会量子信息技术与应用论坛公布量子计算机工程化进展
- 算法导论--麻省理工学院公开课
- 【CSS 用户界面属性 (Basic user interface)】
- 什 么 是 勒 索 病 毒 ?
- 科学研究是有闲人群的玩艺———读爱因斯坦的短文有感
- TI vs Nordic BLE 产品市场分析
- 24. 两两交换链表中的节点
- Elasticsearch 7.X-8.0 AggregationBuliders 相关聚合函数(一)计数指标-百分位数
- excel锁定单元格不能修改_【软件应用】工程中经常运用的Excel技巧(附教程下载)...
- Linux中的阻塞机制
- 【报错解决01】分层抽样报错ValueError: The least populated class in y has only 1 member
- pycharm中关于python虚拟环境的配置
- pd.DataFrame()快速筛选数据