如何为 C++ 库制作 geany .tags 文件?

如何为 C++ 库制作 geany .tags 文件?

我希望在 geany 文本编辑器上有自动完成功能(不,它不是 IDE),为此您可以使用 .tags 文件。有一个插件可以为您的程序创建 .tags 文件,但我需要为外部 C++ 库(更具体地说,SFML)制作一个插件。目标是让 geany 在我输入“sf::”时显示所有可能的类,并在我输入这些类时显示所述类的方法。这将是一件大事,因为我可以通过这种方式更快地学习 SFML,而无需进行太多搜索。谢谢。

答案1

好吧,我找到了解决方案。在对我的文件夹进行了一些搜索并阅读了一些 geany 文档之后,我可以找出创建库的 .tags 文件的以下步骤。

  • 转到 /usr/include/ 并搜索该库。就我而言,它是 SFML,因此我找到了文件夹 SFML,并在其中看到了与其相关的所有文件。
  • pkg-config --list-all | grep <library name>。这将使您看到如何在 pkg-config 中引用该库。我搜索“sfml”并发现要包含所有模块,我应该使用“sfml-all”。
  • 使用您收集的信息,运行以下命令来创建 .tags 文件,替换需要的位置CFLAGS=`pkg-config --cflags <pkg library name>` geany -gP path/to/save/tagfile/something.cpp.tags path/to/library/headers

这应该创建标签文件。然后您应该将其保存在 $HOME/.config/geany/tags 中或通过 GUI 使用 Tools->Load Tags file 导入它,将其导入 geany。

以下是我用于 SFML 的命令作为示例:

CFLAGS=`pkg-config --cflags sfml-all` geany -gP /home/username/sfml.cpp.tags /usr/include/SFML/*/*.hpp

看看最后我如何用 * 包含“SFML”中的所有文件夹,然后使用通配符指定所有以 .hpp 结尾的文件来包含所有头文件

相关内容