我刚刚使用Exuberant Ctags 5.8在ubuntu 10.10下载sublime text 2 beta 2182
我想将它用于c ++编码,我需要一些自动完成和代码导航。 (我习惯用cdt遮蔽)
我用谷歌搜索,我发现ctags是一个很酷的工具,可以做到这一点,并且有一个插件支持sublime text here。
问题是我想要创建标记文件:
c ++标准库(std::vector
std::map etc
)
我正在使用的所有框架类。
第1点(我认为)与第2点相同,我只需要在/usr/include/c++/4.4.5/
所以我下载了插件并安装了它,我用这种方式制作了一个标签列表:
$ cd /absolute_path_of_my_cpp_framework/
$ ctags -R *
我用这一行修改了/home/me/.config/sublime-text-2/Packages/CTagss/CTags.sublime-settings
:
"extra_tag_files" : [".gemtags", "/absolute_path_of_my_cpp_framework/tags"]
现在我打开一个cpp文件,将光标指向我的框架的类名并使用键绑定ctrl+t ctrl+t
并且没有任何反应。只在底部栏中显示此消息:
找不到“class_name”
有人可以帮助我吗?
答案 0 :(得分:7)
我个人不使用Sublime Text,但假设它以与vim类似的方式使用标记文件,则需要为C ++完成生成其他信息。
使用带有以下选项的ctags:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
信息来自this article,它还提供了可用于生成标记的标准库标题的副本。
答案 1 :(得分:2)
$ cd /absolute_path_of_my_cpp_framework/
(1)
$ ctags -R --languages=c++ --langmap=c++:+.inl --fields=+iaS --extra=+q --totals=yes --verbose=yes
(2)
$ ctags -a -R --languages=c++ /usr/include/c++/4.4.5/ --fields=+iaS --extra=+q --totals=yes --verbose=yes
(3)
$ subl .
(4)
(1)转到项目的根文件夹以确保将在那里创建标记文件。
(2)为项目中的所有C ++文件生成一个新的标签文件,添加对.inl文件,继承,访问修饰符,类限定范围等的支持。
(3)将C ++标准lib头的标签附加到生成的标签文件中。
(4)在Sublime Text中打开文件夹。