geany支持代码补全,但是,对于第三方库中的符号,就会无法解析和自动补全了
我使用gtk库,输入g,只会提示标准c语言库中的一些符号。而没有提示任何gtk头文件中的各种符函数、宏。

而对于项目中包含的gtk头文件,右键打开选择的文件

则会出现找不到该头文件的问题,自然也就无法解析和使用其中的各种符号了

首先编译选项是正确配置了的,能够正常编译和运行gtk程序。
对于windows下的visual studio来说,只要正确的配置了附加库和头文件目录,编译链接就会成功执行,并且vs会对其中的文件进行解析,编辑代码时就会出现相应的提示。
而geany的代码编辑器只是一个编辑器,与编译参数的配置没有任何的关系。如果要实现其对第三方库的代码提示功能,就需要使用Global Tags功能(全局标记)。
全局标记用于提供符号和调用提示的自动完成,而无需打开相应的源文件
下面介绍如何创建Global Tags,实现Geany代码补全功能
步骤一:创建c/c++全局标记
全局标记的命名格式为:name.lang_ext.tags
创建全局标记的命令是:
geany -g [-P] <Tag File> <File list>
输入以下命令创建gtk库的tags文件gtk.c.tags
CFLAGS=`pkg-config --cflags gtk+-2.0` geany -g gtk.c.tags /usr/include/gtk-2.0/gtk/gtk.h
CFLAGS=`pkg-config --cflags gtk+-2.0`:为geany指明gtk库的包含目录(如果你默认的CFLAGS环境变量中已经存在gtk的参数,这句应该可以省略)
gtk.c.tags:生成的tags文件名字
/usr/include/gtk-2.0/gtk/gtk.h:用于生成Global Tags的头文件
命令执行完毕后,在当前目录下已经生成了gtk.c.tags文件
步骤二:使用创建的全局标记
使用全局标记的方法有两种,你可以使用任何一种方法来使用创建好的全局标记
方式一:
首先查看geany的配置文件路径,查看方法是:打开帮助,调试信息,在调试信息中找到
User config dir这一项,后面跟的目录就是配置文件路径,一般来说,这个路径就是~/.config/geany

执行以下命令直接将tag文件拷贝到配置文件路径的tags文件夹内
cp gtk.c.tags ~/.config/geany/tags
重启geany,再输入相关代码,可见代码提示里面多了gtk库中的各种函数符号的提示,说明配置成功
方式二:
点击工具,载入标记文件,直接选择生成的tag文件就可以了
