草庐IT

c++ - 在带有 C++ 项目的 emacs 中使用 ETAGS/CTAGS

我使用emacs和etags在项目中导航,是否可以通过搜索函数轻松找到头文件。我一直在使用VisualStudio,我可以通过单击goto声明来查看它在emacs中使用etags有类似的方法吗?例如ArchiveDialog::onKeyPress()搜索将在ArchiveDialog的头文件中的onkeypress声明(源文件顶部的#include)。目前,当我使用etags“M-.onKeyPress”时,只会在cpp文件中找到标签,而不是我的头文件。任何帮助将不胜感激谢谢 最佳答案 CEDET的语义应该提供相应的功能.....

c++、cscope、ctags 和 vim : Finding classes that inherit from this one

在具有几层的相当大的代码库中,有没有办法在vim或命令行中找到从基类派生的所有类?grep是一个选项,但可能会很慢,因为grep没有索引。 最佳答案 cscope和ctags都不允许我们直接处理继承,但是相对解决这个限制是很容易的,因为派生类也被索引了。控制范围在cscope中,寻找“C符号”Foobar通常会列出原始类和继承自它的类。由于搜索是针对数据库完成的,因此速度快如闪电。或者,您可以使用cscope的egrep搜索功能和类似:.*Foobar的模式来列出仅继承自Foobar的类。因此,即使我们没有专门的“查找继承自此类的类

c++ - Ctags 错误 "Is a directory"

我试图用ctags标记一个C++项目,并使用此答案C++sourcetagging中列出的选项.我在一个包含多个文件夹的项目树中,这些文件夹包含源文件。我尝试了以下方法来标记整个源代码树ctags--c++-kinds=+p--fields=+iaS--extra=+q--language-force=C++-R.find.-typef\(-iname"*.cpp"-o-iname"*.hpp"\)|xargsctags--c++-kinds=+p--fields=+iaS--extra=+q--language-force=C++ctags-R.ctags-R*和上面所有的都给出同样

c++ - 为 libstdc++ 生成 CTAGS(来自当前的 GCC)

我知道YoucompleteMe基于LLVM,但我想使用OmniCppComplete.这很好用,如果我使用modifiedheaders对于C++。此修改后的header已过时且不包含C++11中的任何内容。如果注意到我可以自己修改标题,例如:$find.-name'*.h'|xargssed-i's/__STL_BEGIN_NAMESPACE/namespacestd{/'$find.-name'*.h'|xargssed-i's/__STL_END_NAMESPACE/}/'或者使用这个设置:letOmniCpp_DefaultNamespaces=["std","_GLIBCX

c# - 对自定义类列表<T> 进行排序

我想用date属性对我的列表进行排序。这是我的自定义类:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;namespaceTest.Web{publicclasscTag{publicintid{get;set;}publicintregnumber{get;set;}publicstringdate{get;set;}}}这是我要排序的List:ListWeek=newList();我想根据cTag类的date属性对List进行排序。日期的格式为dd.MM.yyyy。我阅读了一些

c# - 对自定义类列表<T> 进行排序

我想用date属性对我的列表进行排序。这是我的自定义类:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;namespaceTest.Web{publicclasscTag{publicintid{get;set;}publicintregnumber{get;set;}publicstringdate{get;set;}}}这是我要排序的List:ListWeek=newList();我想根据cTag类的date属性对List进行排序。日期的格式为dd.MM.yyyy。我阅读了一些

javascript - 如何让 vim ctags 适用于现代 javascript

我正在使用vim和ctags来获取标签列表。但对于javascript,它不适用于此约定MyClass.extend({xxx:function(){},...})MyClass.prototype={method:function(){}}MyClass.prototype.method=function(){} 最佳答案 正如其他人所说:DoctorJS(以前的jsctags)是最佳选择。但是,通过编写自定义包装器或使用Vim-taglist-plus插件将其与Vim集成(目前无法正常工作)并不是好的解决方案。我发现的最简单的方

javascript - 如何让 vim ctags 适用于现代 javascript

我正在使用vim和ctags来获取标签列表。但对于javascript,它不适用于此约定MyClass.extend({xxx:function(){},...})MyClass.prototype={method:function(){}}MyClass.prototype.method=function(){} 最佳答案 正如其他人所说:DoctorJS(以前的jsctags)是最佳选择。但是,通过编写自定义包装器或使用Vim-taglist-plus插件将其与Vim集成(目前无法正常工作)并不是好的解决方案。我发现的最简单的方

python - 在旺盛的 ctags 中跳过 python "import"语句

如果我有两个文件文件a.py:classA():pass文件b.py:fromaimportAb=A()当我在vim中使用ctags并按Ctrl+]时,它会将我重定向到import语句,而不是类定义。在这段代码中一切正常:文件a.py:classA():pass文件b.py:fromaimport*b=A() 最佳答案 您可以将以下行添加到您的~/.ctags文件中。--python-kinds=-i让ctags跳过索引导入语句。要查看您还可以启用/禁用什么:ctags--list-kinds=python

python - 在旺盛的 ctags 中跳过 python "import"语句

如果我有两个文件文件a.py:classA():pass文件b.py:fromaimportAb=A()当我在vim中使用ctags并按Ctrl+]时,它会将我重定向到import语句,而不是类定义。在这段代码中一切正常:文件a.py:classA():pass文件b.py:fromaimport*b=A() 最佳答案 您可以将以下行添加到您的~/.ctags文件中。--python-kinds=-i让ctags跳过索引导入语句。要查看您还可以启用/禁用什么:ctags--list-kinds=python