标签: cscope

ctags最佳实践

我正在使用Solaris上的+ 1M LOC C/C++项目(远程,通过VNC或SSH).我在本地计算机上也有每日更新的源代码副本(Windows,仅用于浏览代码).

我使用VIM和ctags组合(在Solaris和Windows上),但我对结果/速度不满意.你会推荐什么样的ctags设置?应该标记什么以及如何标记有很多选项.我应该为每个项目,每个目录使用单个标记文件,还是只为每个项目使用一个?

c++ vim ctags cscope

5
推荐指数
1
解决办法
2577
查看次数

Cscope无法创建倒排索引.为什么?

以下命令工作正常:

   $>cscope -b -R
Run Code Online (Sandbox Code Playgroud)

但是,反向索引的选项不起作用:

$>cscope -b -q -k -R
Input file specified two times.

cscope: cannot create inverted index; ignoring -q option
cscope: removed files ncscope.in.out and ncscope.po.out
Run Code Online (Sandbox Code Playgroud)

我用Google搜索了一下,发现了一些点击.但找不到任何答案或解决方案.任何见解都非常感谢.

vim cscope

5
推荐指数
1
解决办法
1354
查看次数

cscope:使用#ifdef仅生成一个符号

我有C源代码,它有很多#ifdef ANSI宏.

例如,

#ifdef ANSI
int test
(
int a
)
#else
int test(a)
int a;
#endif
Run Code Online (Sandbox Code Playgroud)

因此,如果我使用cscope + vim和上面的源代码来导航test(),它总是显示相同的两个符号.(所以我必须选择两个相同的符号名称之一.这非常烦人)

cscope是否可以只生成一个符号(仅在#ifdef ANSI中生成符号)?

cscope

5
推荐指数
0
解决办法
274
查看次数

如何在Vim中过滤cscope输出

我正在寻找一种方法来cscope从Vim查询输出查询.

以下对我不起作用:

:cs f s symbol !grep pattern
Run Code Online (Sandbox Code Playgroud)

它给了:

E259: no matches found for cscope query s symbol !grep pattern ...
Run Code Online (Sandbox Code Playgroud)

PS:
我知道redir方法,我正在寻找一种更简单的方法来
通过Unix命令过滤ex命令的输出.

vim cscope

5
推荐指数
1
解决办法
1950
查看次数

vim和emacs中的代码导航

我在emacs和vim中最想念的IDE功能是代码导航和查找用法.这两个编辑器都具有以下类似功能:

  • 标签 - 指定文件中的标识符被编入索引,当您按下作为标识符的单词的快捷方式时,您将在那里导航
  • CScope - 它允许您导航到标识符的"用法"

据我了解,这两个系统都非常不精确.如果我们有相同名称的相似标识符,则标记和范围可能会混淆它们.有没有更好的选择,它们究竟有多精确?

tags vim emacs cscope

5
推荐指数
3
解决办法
3801
查看次数

Linux内核makefile cscope目标

当我通过发出make cscopeI get database file以及具有相对路径的文件列表来生成Linux内核cscope数据库时.这对我来说是一个问题,因为稍后当我在vim编辑器中从任何目录附加外部内核的数据库但内核我可以轻松搜索特定符号但是我无法打开包含该符号的文件.

我写了下一个bash脚本

#!/bin/bash

SNAME="$0"
SNAME=${SNAME##*/}

function usage()
{
    echo Generate Linux kernel cscope database
    echo "Usage: $SNAME [PATH]"
    echo -n "You must provide this script with an ABSOLUTE path of your "
    echo "kernel's root directory"
}

if [[ -z "$1" ]]; then
    usage
    exit -1
fi

KDIR="$1"

echo -n "Collecting a list of files... "
if find "$KDIR" -path "${KDIR}/arch/*" ! -path "${KDIR}/arch/x86*" -prune -o \
        -path "${KDIR}/include/asm-*" \ …
Run Code Online (Sandbox Code Playgroud)

linux makefile cscope linux-kernel

5
推荐指数
2
解决办法
2570
查看次数

Vim拿起Cscope命令而不是ctags?

我已经安装了ctags但没有安装cscope.

当我按下Ctrl-]时,vim正确地将我带到了定义.但是,当我按下Ctrl-t时,它会回复错误 - "E567:没有cscope连接".

vim --version里面有+ cscope.我尝试在我的vimrc中设置"set nocst",但无济于事.

vim ctags cscope

5
推荐指数
1
解决办法
294
查看次数

Cscope问题 - 搜索结果不可见

我面临着一个奇怪的问题.在浏览项目的C代码时,"查找此文本字符串:"输出会产生正匹配,但文本不可见[只有搜索结果不可见而不是菜单].光标在结果列表中上下移动.有些线条有时可见,您可以在下面的屏幕截图中看到.我确实尝试更改背景颜色[从黑色到白色],删除项目文件夹中的任何cscope.out实例,重建数据库.

该系统是FC4.使用的cscope版本是15.7a.

这是一个已知的错误?有解决方案吗

屏幕截图:使用Putty拍摄屏幕截图.在gnome-terminal,konsole上可以看到相同的行为.

http://img2.pict.com/05/11/00/2823072/0/cscope01.jpg

http://img2.pict.com/53/0e/38/2823075/0/cscope02.jpg

PS:也发布在ubuntu论坛 - http://ubuntuforums.org/showthread.php?t=1402448

c cscope

4
推荐指数
1
解决办法
2470
查看次数

cscope是否具有搜索历史记录或搜索查询堆栈功能?

我通常用cscope从c方法挖掘方法到方法超过4-5级,我必须在方法之间来回切换.

如何在cscope中查看搜索历史记录,以便我不必记住以前的方法名称.或者如果它是一个堆栈会更好.

c cscope

4
推荐指数
1
解决办法
5169
查看次数

尝试在vim中使用ctags时出现cscope错误

我为我的项目生成了ctags:

ctags -f /home/grae/tags --recurse --langmap=C++:.C.h.c.cpp.hpp.inl --languages=C++ --extra=+q --fields=+iaS --c++-kinds=+p --verbose framework/ modules/ /usr/include/
Run Code Online (Sandbox Code Playgroud)

然后我将标签添加到.vimrc:

set tags+=/home/grae/tags
Run Code Online (Sandbox Code Playgroud)

我还暂时添加了以下内容(但现已删除):

set csto=1
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试Ctrl +]或g]时,我收到错误:

cstag:找不到标签

我不应该使用cscope,所以我不确定这是怎么发生的.我目前的想法是:

* cscope on by default
* something has overriden Ctrl+] and g]
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?

vim ctags cscope

4
推荐指数
1
解决办法
2346
查看次数

标签 统计

cscope ×10

vim ×6

ctags ×3

c ×2

c++ ×1

emacs ×1

linux ×1

linux-kernel ×1

makefile ×1

tags ×1