如何为Ctags无法处理的MSVC文件夹的所有C ++头文件生成标记文件?

时间:2013-09-28 20:00:19

标签: c++ windows visual-studio visual-c++ vim

如果Exuberant Ctags无法在包含文件夹中处理,如何为 Microsoft Visual C ++ 的所有C ++头文件生成标记文件?

例如,Microsoft Visual C ++的头文件的包含文件夹的路径是:“C:\ Program Files \ Microsoft Visual Studio 11.0 \ VC \ include”

  1. 如何为包含该文件夹的所有C ++文件生成标记文件?
  2. 还有如何生成包含该文件夹的所有C ++文件 及其子目录?
  3. 我已经尝试过命令:

    :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f C:\Users\USR\vimfiles\tags\msvc C:\Program\ Files\Microsoft\ Visual\ Studio\ 11.0\VC\include
    

    命令:

    :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f C:\Users\USR\vimfiles\tags\msvc C:\Program Files\Microsoft Visual Studio 11.0\VC\include
    

    但这些只是创建一个标记文件“msvc”而不标记 \ include 文件夹中的任何文件。实际上,这是创建的标签文件的完整来源:

    !_TAG_FILE_FORMAT   2   /extended format; --format=1 will not append ;" to lines/
    !_TAG_FILE_SORTED   1   /0=unsorted, 1=sorted, 2=foldcase/
    !_TAG_PROGRAM_AUTHOR    Darren Hiebert  /dhiebert@users.sourceforge.net/
    !_TAG_PROGRAM_NAME  Exuberant Ctags //
    !_TAG_PROGRAM_URL   http://ctags.sourceforge.net    /official site/
    !_TAG_PROGRAM_VERSION   5.8 //
    

    但我很确定如果正在处理的文件夹位于Windows用户的$HOME上,如果它位于“C:\ Users \的路径下,那么前面的2个命令就可以正常工作USR“

1 个答案:

答案 0 :(得分:2)

我很确定它与您尝试处理的文件夹路径中的空格有关。尝试在其周围加上双引号,即:!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f C:\Users\USR\vimfiles\tags\msvc "C:\Program Files\Microsoft Visual Studio 11.0\VC\include"。使用反斜杠转义空格不起作用,因为Windows将其用作路径分隔符。