如果Exuberant Ctags无法在包含文件夹中处理,如何为 Microsoft Visual C ++ 的所有C ++头文件生成标记文件?
例如,Microsoft Visual C ++的头文件的包含文件夹的路径是:“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
命令:
:!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“
答案 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将其用作路径分隔符。