Sublime Text + CTags + Cscope (部分替代Source Insight)
CTags & cscope 下载:
CTags+Cscope --- 我的百度云盘下载
http://pan.baidu.com/s/1gfyPnuN
ctags58.zip --- src
http://jaist.dl.sourceforge.net/project/ctags/ctags/5.8/ctags58.zip
cscope-win32/downloads -- Google Code
https://code.google.com/archive/p/cscope-win32/downloads
cscope-15.8b.tar.gz --src
http://pilotfiber.dl.sourceforge.net/project/cscope/cscope/15.8b/cscope-15.8b.tar.gz
--------------------------------
安装方法:
2. 安装Ctags插件
(1) 通过 Preference -> Package Control -> Install Package安装Ctags插件
(2) 下载 Ctags.exe, 通过 Preference -> Package Settings -> Ctags -> Settings Default 中的内容拷贝到 Setting User中,将 command": ""
中的 ""
填入Ctags.exe的路径位置
(3) 在工程根目录上点击右键,选择Ctags:Rebuild tags
CTags设置:
user settings中的设置:
"file_exclude_patterns":[".tags", ".tags_sorted_by_file", ".gemtags"],
"command" : "D:\\Program Files\\Sublime Text 3\\ctags.exe", ----说明:这里win下的路径要加 \ 转义字符,linux下用 /
3. 安装Cscope插件
(1) 通过 Preference -> Package Control -> Install Package安装Cscope插件
(2) 下载 Cscope.exe, 并在工程根目录下生成cscope.out文件
(3) 打开CscopeSublime.sublime-settings文件(可能需要添加到 Package -> User 目录下),将 "executable": ""
中的""
填入Cscope.exe的路径位置,将 "database_location": ""
中的 ""
填入cscope.out的路径位置
首先在目录下使用“cscope -Rkqb”生成cscope.out文件; ----在代码浏览的工程目录下执行该命令生成cscope.out索引文件
用下面的命令生成代码的符号索引文件:
cscope -Rbkq
这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。
其中cscope.out是基本的符号索引,后两个文件是使用”-q”选项生成的,可以加快cscope的索引速度。
上面所用到的命令参数,含义如下:
-R: 在生成索引文件时,搜索子目录树中的代码
-b: 只生成索引文件,不进入cscope的界面
-k: 在生成索引文件时,不搜索/usr/include目录
-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
功能实现:
(1) 对于symbol函数的定义查询,ST3自带此功能Go to Definition
,且搜索结果有多个时可以预览,不用跳转到另一个文件。Ctags也有此功能navigate_to_definition
,搜索结果比ST3要准确一些,但多结果时不支持预览。Csope也有此功能 Cscope: look up function defintion
,但搜索结果不支持双击点开。因此实际中多用ST3和Ctags来实现此功能
(2) 对于symbol变量的定义查询,ST3不支持,Ctags有此功能,方法同其查询symbol函数的定义一致。Cscope也可以用查询symbol函数定义的方法实现此功能,搜索结果不支持双击点开。因此实际中多用Ctags来实现此功能
(3) 对于函数caller的查询,只有Cscope有此功能Cscope: look up function calling this function
(4) 全局搜索, ST3可通过Ctrl+Shift+F
实现,但搜索耗时较长。Cscope可通过Cscope: look up symbol
实现,因为已经通过cscope.out建立了索引,所以结果很快,但结果不一定全面
注:使用Cscope的功能时,需按enter
键确定才会执行
比较:ST3 + Ctags + Cscope的方案基本可以实现Source Insight的常用有效功能(除了查看类继承关系的Relation Windows),且其速度更快,界面也更为清爽。ST3相比于SI的其他优点还包括:
(1)ST3使用Ctrl+P
搜索文件时,使用的是模糊匹配,不像SI必须顺次拼写正确才行
(2)ST3支持tab模式,可方便的在多个文件间切换
ST3实用技巧:
(1) Alt+O
可以实现头文件和源文件之间的快速切换
(2) 通过 View -> Side bar 可在左侧显示当前打开的文件列表
(3) ST3虽然不像notepad++可以在sidebar上显示函数列表,但是可通过Ctrl+R
查看
(3) 通过 Preference -> Key binding user 可根据个人操作习惯自定义快捷键(包括ST3自带的和插件的)
(4) 双击可选中光标所在单词,三击可选中光标所在行
(5) Ctrl+Shift+T
可以打开之前关闭的tab页,这点同chrome是一样的
--------------------------------
补充说明:
目前跳转至caller的插件个人还是依靠cscope,而symbol view的功能可以用ctrl+r实现
在sublime请使用command + p(windows 下 Ctrl+p)呼叫出goto anything的窗口,然后输入你想查看的文件名,如果你还想快速定位,可以加@
在sublime,只要记住模糊匹配这四个字就很OK
ctrl+p:如果是js文件输入@,可以快速定位到function;如果是css文件输入@,可以快速定位到选择器;如果是html文件输入#,可以快速定位到标签
--------------------------------
参考:
使用Sublime Text3+Ctags+Cscope替代Source Insight - 作业部落 Cmd Markdown 编辑阅读器
https://www.zybuluo.com/lanxinyuchs/note/33551
CTags - Packages - Package Control
https://packagecontrol.io/packages/CTags
[图文详解] Sublime Text在Windows/Ubuntu/Mac OSX中配置使用CTags - petercao - 博客园
http://www.cnblogs.com/bluestorm/p/4768395.html
配置cscope && ctags - Dream的日志 - 网易博客
http://genime.blog.163.com/blog/static/167157753201313115255964/
转载于:https://www.cnblogs.com/bluestorm/p/5680527.html
Sublime Text + CTags + Cscope (部分替代Source Insight)相关推荐
- 用vim替代source insight
在浏览和修改稍微复杂的程序时候,确实source insight是个非常好的工具.转到Linux以后,我一直在找替代工具.最先是等anjuta,结果苦苦等到了一个鸡肋的2.02.然后,认真配置了下wi ...
- 如何优雅地使用 Sublime Text
Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受.相比 于难于上手的Vim,浮肿沉重的Ecli ...
- 如何优雅地使用Sublime Text
如何优雅地使用Sublime Text By 晚晴幽草轩轩主 发表于 2015-12-15 Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还 ...
- Sublime Text的优雅使用
原文出处:http://www.jianshu.com/p/3cb5c6f2421c/ Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持 ...
- Sublime text 3(ST3) - Source Insight
1. 简介 1) ST3虽然不像notepad++可以在sidebar上显示函数列表,但是可通过Ctrl+R查看 2) Ctrl+Shift+T可以打开之前关闭的tab页,这点同chrome是一样的 ...
- sublime text 3在windows中配置ctags插件
图1 一.如果Preferences > Browse Packages菜单下没有Package Control目录,我们可以通过以下步骤手动安装Package Control: 1.点击Pre ...
- 编辑器source insight,sublime,编码 utf-8和 GB2312
source insight中,想要UTF-8的中文字符正常显示的话,目前没有直接支持的方法. 暂时只能通过将原UTF-8的格式的文件,转换为本地ANSI编码(此处是简体中文,对应的ANSI编码为GB ...
- sublime text 3中安装ctags支持函数跳转,安装convertToUtf8支持中文步骤[工具篇]
sublime text x是个很不错的编辑器,但是各种插件都需要自己安装,有时也有点不方便,尤其是自己还不不知道怎么安装的时候.开发中经常用到的,函数跳转,就是一个比较难安装的东西,记录如下(系统为 ...
- sublime text 替代_Lime :号称 Sublime Text 编辑器的开源替代品
Fredrik Ehnbom用Go语言开发了新代码编译器 Lime,号称Sublime Text的开源实现.其兼容Sublime Text的快捷键设置,兼容Textmate的颜色主题及语法定义.业界有 ...
最新文章
- IDE之VS:Visual Studio2017版本安装图文教程之详细攻略
- 一文带你认识Spring事务
- 【数学建模】图论模型-Floyd算法(最优化)
- 字符串匹配算法KMP算法
- linux下编译与运行,Linux操作系统驱动编译与运行是怎样的?
- mysql 大表 备份_MySQL大表备份的简单方法
- 阿里Java面试答案【283页PDF文档免费领】
- 【线性查询之间存在相关性误差】差分隐私系统学习记录(七)
- Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的适用版本
- mysql如何加快备份和恢复速度_加速mysql备份和恢复
- [转载] python中集合的表示_Python No.18_集合以及表示符号
- android 控件获取rect,Android自定义View圆形进度条控件(三)
- HUSTOJ配置文件解释
- 让python pip使用国内镜像安装模块
- 15--jQuery插件大全-- 使用jsoup爬取酷我音乐和微博热搜数据
- 锐龙R3 2200G和Intel i3-8100选哪个好
- wxpython之StaticText最全介绍(持续更新)
- 2022年中国前10大互联网公司广告营收榜
- Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)
- 近期公司笔试题(4)
热门文章
- nodejs 读取excel文件,并去重
- Rancher助力美国农业部的容器实践之路
- DAYDREAM和VIVE平台的框架API
- Android隐式启动匹配:action,category,data
- jquery获取表格中特定列
- java 转为Calendar_在Java中将String转换为Calendar对象
- cass地籍参数设置命令_想成为一名厉害的测绘员?南方Cass教程+插件+课件不可少!...
- Vmware Linux 固定IP配置(CenOS7)
- raspberry pi_如何在Raspberry Pi上使用LÖVE游戏引擎对游戏进行编程
- openstack 功能_2016年OpenStack的新功能:看一下Newton版本