cscope

how can I display all function name from cscope database?

本秂侑毒 提交于 2019-12-17 18:35:41
问题 I am trying to find a way to dump ALL the functions name and it's path from cscope database. Is there a way to do that from cscope CLI? Note: the cscope source code is available for download. 回答1: Try the following: cscope -R -L -2 ".*" | awk -F ' ' '{print $2 "#" $1}' | sort | uniq The command cscope -R -L -2 ".*" will output functions called by any function (see explanation of the options below). For each reference found, cscope outputs a line consisting of the file name, function name,

VIM 7 and cscope: Using “cscope find f” inside a keyboard mapping for switching between files

蹲街弑〆低调 提交于 2019-12-12 18:22:05
问题 I usually hop between files on my cscope-indexed codebase by using :cscope find f <filename> I'm trying to define a keyboard shortcut to prevent me having to type ":cscope find f" everytime. Pressing this shortcut would bring up an input prompt, to which I'll enter part of a filename in the cscope database. If there are multiple files, it would show up the list of files, from which I can select the file I want to go to. I've got to this much so far, but since I'm not at all proficient with

Synergy between ctags and cscope

孤街醉人 提交于 2019-12-11 23:26:48
问题 I've used both cscope and ctags to collectively help browse the C code previously. Now with C++ code, I'm trying to use them to aid in code browsing. This is how the cscope and ctags DBs have been built: $ find . -name '*.cc' -o -name '*.h' > cscope.files $ cscope -b $ ctags -L cscope.files Invoking cscope: $ cscope -d Once I search for a symbol and open the relevant file from within cscope, I'm unable to find definitions of other symbols using . The error is: E433: No tags file E426: tag not

How to implement cross-platform cscope-like text-based user interface?

痞子三分冷 提交于 2019-12-11 15:05:49
问题 I want my C++ program to: Allow the selection of choices as in cscope; that is using tabs, and circularly iterating over the choices. Further, the choices should not scroll, as is the case with cscope. Any ideas how I can implement this? I would like my implementation to be cross-platform i.e. supports Windows, Linux and Mac environments. 回答1: I think you want ncurses. Have a look at the Linux tool aptitude to see what it can look like. 来源: https://stackoverflow.com/questions/5961798/how-to

Vim script to switch between header and implementation file using cscope

久未见 提交于 2019-12-11 03:24:17
问题 I currently use the A.vim plugin to swap between header and implementation file. The limitation of this script is that it only works if both are in the same folder. If you have a cscope database for your code you can easily find the header for a particular implementation file by doing :cscope find f ImplementationFileName.h . How would you script this to take the current file name without the extension and search for that name with the added .h suffix? 回答1: This should be possible out of the

How to generate cscope.files from CMakeLists.txt

风格不统一 提交于 2019-12-10 11:01:48
问题 I'm using CMake to build my code. CMakeLists.txt contains the list of all the .C or .CPP files and all the include directories. How can I implement CMakeLists.txt so that I can have a make option that generates cscope.files for me containing the list of all the .C and .CPP (or .CXX) files and also all the .h files from the include directories in it? For e.g. I should be able to run make cscopefiles and it will generate cscope.files for me. Or is there already such an option? 回答1: You could

Ubuntu下创建vim+Taglist+cscope+ctags组合编辑器

守給你的承諾、 提交于 2019-12-10 06:33:39
有人抱怨Linux系统下没有类似于VC之类的方便快捷的编辑器,有人用gedit, 有人用vim,但是都不方便而且也没有自动补全之类的方便用户的功能。本文简单介绍使用vim中的几个插件(Ctags、Cscope和TagList) 实现一个强大的编辑器,希望可以帮助您学习、使用。 一、软件安装 Ubuntu给我们安装软件提供了很大的便利,比如说, 安装vim 我们可以直接使用" sudo apt-get install vim "即可安装! 同样, cscope和ctags也可以使用相同方法安装 ,这是多么畅快淋漓啊!感谢Ubuntu给我们用户如此便利! 对于 Taglist 使用这个方法安装不了,我们需要先下载,然后安装完成: 首先上网 下载Taglist插件 ,下载完成后解压,再将文件下的taglist.vim使用cp命令拷贝到HOME/.vim/plugin文件夹下(cp -r taglist.vim ~/.vim/plugin) 这样,vim+Taglist+cscope+ctags四种工具我们是安装好了,但是如何使用呢? 二、Vim简介及配置 vim 是一个非常好用的编辑工具,以下介绍几个常用的底行模式命令: (1). 设置缩进 :set smartindent // 设置缩进 :set smartindent shiftwidth=4 // C语言自动缩进

Vim编程之:tags,cscope,taglist

血红的双手。 提交于 2019-12-10 06:22:43
最近VIM用得比较多,所以在学了不少。在这里对收获到的东西做一个总结。 1.编程四要素vim,ctags,cscope,taglist vim配合这3件东西之后,极为强大。与SourceInsight有一拼。 1.1 ctags ctags叫作“标签”,它记录源码中所有标识符定义所在的文件与行号。 (1)安装 先在命令终端运行一下: $ ctags --version 看一下当前系统有有没有安装ctags,如果有就跳过本节。 我是在 http://ctags.sourceforge.net/ 上下载的最近的源码,解压,配置,编译,安装。 $ tar zxvf ctags-5.8.tar.gz $ cd ctags-5.8 $ ./configure && make ... $ sudo make install 然后再检查一下是否成功安装 $ ctags --version 通常是没问题的。 (2)使用 在咱们的源码目录下执行简单的 $ ctags -R . ctags就会遍历当前目录下的所有.c,.h,.cpp文件,提取所有的标识符并记录到tags文件中。 进入vim可又使用标签参数,使vim打开时跳到标签所在位置。如果我们要找WinMain,如下: $ vi -t WinMain 进行vim之后,常用的几个命令: :tag {ident} "跳转到ident标签位置上

使用 vim + ctags + cscope + taglist 阅读源码

不打扰是莪最后的温柔 提交于 2019-12-10 06:17:56
最近,准备跟学长一起往 linux kernel 的门里瞧瞧里面的世界,虽然我们知道门就在那,但我们还得找到合适的角度才会看得更舒服,对吧^_^ 。 阅读源码的工具有很多,而且如今的集成开发环境(IDE)也很强大,但对于经常使用vim编辑器的程序员来说,对vim的强大绝对是“不抛弃,不放弃”的,况且 我们 只要安装一些插件配合vim的工作一样能达到IDE的效果, 好了,废话少说。浏览了很多有关的网页资源后,发现有很多插件可以用,但 在此推荐3款比较常用的“小”插件供大家参考,它们其实并不“小”,非常强大!一般地,只是单个小程序源码的阅读就不必劳驾插件了(我是这样认为的),对于工程代码不用它们就有点困难了。 这三个插件分别是: ctags , cscope , taglist 先看看效果如何吧 在ubuntu下的安装与配置如下—— (1) ctags 插件 a) 功能: 对浏览代码非常的方便, 可以在函数, 变量之间跳来跳去等等等等 (更多说明请百度或谷歌一下) b) 安装配置: 终端下输入 sudo apt-get install ctags 如果没发现该软件包就用 sudo apt-get install exuberant-ctags 就行了…… 如果还不行可以到官网下载源码手动编译安装,有点麻烦是不是?不要嫌麻烦,这也是一个学习的机会,如果遇到其他类似的你也可以仿照这里的例子

使用 vim + ctags + cscope + taglist 阅读源码

半城伤御伤魂 提交于 2019-12-10 06:13:47
阅读源码的工具有很多,而且如今的集成开发环境(IDE)也很强大,但对于经常使用vim编辑器的程序员来说,对vim的强大绝对是“不抛弃,不放弃”的,况且 我们 只要安装一些插件配合vim的工作一样能达到IDE的效果, 好了,废话少说。浏览了很多有关的网页资源后,发现有很多插件可以用,但 在此推荐3款比较常用的“小”插件供大家参考,它们其实并不“小”,非常强大!一般地,只是单个小程序源码的阅读就不必劳驾插件了(我是这样认为的),对于工程代码不用它们就有点困难了。 这三个插件分别是: ctags , cscope , taglist 先看看效果如何吧 在ubuntu下的安装与配置如下—— (1) ctags 插件 a) 功能: 对浏览代码非常的方便, 可以在函数, 变量之间跳来跳去等等等等 (更多说明请百度或谷歌一下) b) 安装配置: 终端下输入 sudo apt-get install ctags 如果没发现该软件包就用 sudo apt-get install exuberant-ctags 就行了…… 如果还不行可以到官网下载源码手动编译安装,有点麻烦是不是?不要嫌麻烦,这也是一个学习的机会,如果遇到其他类似的你也可以仿照这里的例子,再配合压缩包里的README文件就能手动安装了,你说是不是,呵呵。 下载地址 http://nchc.dl.sourceforge.net