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

--------------------------------

安装方法:

1. 安装Package Control for ST3 

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/

Sublime Text + CTags + Cscope (部分替代Source Insight)的更多相关文章

  1. sublime text2+Ctags+Cscope替代Source Insight

    说明:以Windows系统下查看C++代码为例.因为Source Insight(以下简称SI)是收费软件,且界面丑陋,所以考虑其替代方案,发现Sublime Text3(以下简称ST3) + Cta ...

  2. Sublime Text Ctags 安装、使用、快捷键

    安装ctags应用程序. 1.到CTags的官方网站下载最新版本,将解压后的ctags.exe放到系统环境变量的搜索路径中.一般是C:\windows\system32. 如果你想放到其他文件夹中,记 ...

  3. Win + Linux下Source Insight 替代方案

    需要阅读大量的系统源码,还有开源框架和好的源码等,需要寻求轻量,多快好省的editor, 最好有markdown语法的支持,支持重构,跳转调用,定义等... 自动补全... 目前看来,windows上 ...

  4. 如何优雅地使用Sublime Text

    Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受.相比于难于上手的Vim,浮肿沉重的Eclip ...

  5. 如何优雅地使用 Sublime Text

    Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受.相比 于难于上手的Vim,浮肿沉重的Ecli ...

  6. Sublime text追踪函数插件:ctags 和php代码格式化

    转自:http://blog.csdn.net/zm2714/article/details/8076077 这两天一直纠结两款编辑器——eclipse和sublime Text. eclipse的p ...

  7. Sublime text追踪函数插件:ctags

    转自:http://blog.csdn.net/xxhsu/article/details/30766675 一.下载: 1)http://ctags.sourceforge.net/ 2)http: ...

  8. [图文详解] Sublime Text在Windows/Ubuntu/Mac OSX中配置使用CTags

    很开发者都在找Sublime Text中函数转跳的功能,这个是软件自身没有的功能,要靠CTags这个插件配合CTags的可执行程序的实现的.按照我的理解是CTags扫描索引你的项目文件,然后subli ...

  9. Sublime Text 2/3安装CTags实现函数跳转

    安装ctags 下载 ctags程序,放到目录D:/ctags/下 安装ctags插件 1. 打开Sublime Text 2. Preferences->Package Control-> ...

随机推荐

  1. python 字节与字符串转换

    name = 'laogaoyang' nameBytes = name.encode('utf-8') # 字节 nameStr = nameBytes.decode('utf-8')# 字符串 p ...

  2. Android应用反破解的思路

    一个Android应用要被破解,要经历:反编译->分析代码->重新编译打包的过程,反破解的思路也是从在这三个步骤上做文章: 1, 寻找反编译工具的缺陷,通过阅读其源码或者对其进行压力测试找 ...

  3. 什么情况下可以不写PHP的结束标签“?>”

    我们经常看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下必须写?先来看2个例子: 下面的代码正常运行: <?php echo 1234 ...

  4. OC block的简单使用

    http://blog.csdn.net/itpeng523/article/details/23965147 一.先用Xcode创建一个空工程 学习block之前先用弄懂c语言的函数指针 看代码: ...

  5. 善用VS中的Code Snippet来提高开发效率

    http://www.cnblogs.com/anderslly/archive/2009/02/16/vs2008-code-snippets.html http://www.cnblogs.com ...

  6. stty命令使用

    stty [ -a ] [ -g ] [ Options ]   stty(set tty)命令用于显示和修改当前注册的终端的属性. UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过 ...

  7. Python之队列queue模块使用 常见问题与用法

    python 中,队列是线程间最常用的交换数据的形式.queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外. 1. 阻塞模式 import queue q = queu ...

  8. Java从网络读取图片并保存至本地

    package cn.test.net; import java.io.File; import java.io.FileOutputStream; import java.io.InputStrea ...

  9. 利用ssh-copy-id无需密码登录远程服务器

    本地机器生成公钥和私钥 ssh-keygen -t rsa 一路回车,最后会在~/.ssh目录下生成id_rsa和id_rsa.pub这两个文件. 与远程服务器建立信任机制 ssh-copy-id - ...

  10. Java for LintCode 验证二叉查找树

    给定一个二叉树,判断它是否是合法的二叉查找树(BST) 一棵BST定义为: 节点的左子树中的值要严格小于该节点的值.    节点的右子树中的值要严格大于该节点的值.    左右子树也必须是二叉查找树. ...