具有多个目录的Emacs和cscope

具有多个目录的Emacs和cscope,emacs,cscope,Emacs,Cscope,当我的源代码位于多个目录中时,如何在Emacs中设置cscope

当我的源代码位于多个目录中时,如何在Emacs中设置cscope

<我的C++项目有几个路径:

  • /path/to/my/code
    (和子目录)
  • /path/to/other/code
    (和子目录)
  • /path/to/static/linking/include/files
    (和子目录)
  • /path/to/static/linking/lib/files
    '(和子目录)
  • 我想使用
    xcscope
    在我的代码和链接到的库中导航/查找符号

    for
    xscope.el
    说我应该首先在
    /path/to/my/code
    运行C-cs(Cscope->Create list and index),但是我不知道如何让其他路径由Cscope索引

    文档中说我应该转到其他目录并运行
    cscope-b
    ,但是在那之后我应该做什么呢

    我查看了C-CS构建的
    cscope.files
    文件。我想我应该将我的其他路径添加到此文件,但此文件包含源代码文件的列表(不是目录)


    我是否必须手动编辑cscope.files来添加项目根目录之外的每个要索引的文件?

    文档很混乱

    我收到一封信。仍然令人困惑

    cscope.files的名称非常恰当。它不是目录。它是文件,只有文件。这听起来很吓人。如果你有数百个文件呢。然后,您必须在cscope.files中写入数百行,每个文件一行。别开玩笑了

    通过编写脚本来实现自动化。例如,在linux上,使用bash脚本和重定向(>,>>,|)操作符从任何和所有目录中选择文件并过滤到该cscope.files中。 cscope.files所在的目录如何?如果您不包含这些文件,那么只有在您打开该源目录中的项目(在emacs中,但可能适用于任何IDE)时,它才会找到这些文件。所以,也要包括它们,以便从任何地方轻松打开项目。 选项“recursive/-R”显然可以发送给cscope索引器。不,没有很多根目录。什么都不做(可能与脚本或elisp有关,谁知道呢)。只需将这些文件(绝对路径)输入cscope.files。您可能必须确保每个项目只有一个cscope.files。不要将它们相对于每个目录进行拆分。或者你可以,做些调查

    请记住,如果希望cscope.files从任何位置指向文件,请在文件之前包含/path/to/each/file/。cscope不是“智能”的,它是哑的,它只是指示在哪里查找,它不知道在哪里查找“文件名”,而不知道它在哪里。您只是要求它调用
    定位文件名
    ,当您给它一个单独的文件名时,它无论如何都不能这样做,而在特定的cscope.files所在的目录之外没有目录路径

    我希望有一种方法可以在emacs中使用xcscope,只需添加它将对其进行编目和索引的目录,正如xcscope文档和emacs菜单所建议的那样。但是我没有成功地让它那样工作。

    软链接(ln-s)不起作用吗?为我工作