Geany:除非我在 geany 中打开头文件,否则语法高亮和自动完成功能不起作用

Geany:除非我在 geany 中打开头文件,否则语法高亮和自动完成功能不起作用

我目前正在编写一个使用 GTK 库的程序。

程序编译并运行良好。

问题是 - geany 似乎不知道 GTK 头文件中有什么结构和方法。

它不会突出显示结构,并且不提供自动完成功能。

我做了一些实验 - 如果我#include 我自己的头文件 - 它只会在 geany 中打开该文件时自动完成。虽然对于其他 std 头文件(如 stdlib.h 和 math.h)来说没问题

我该怎么做才能修复此问题?

答案1

我今天也遇到了同样的问题。

geany 必须知道在哪里查找有效的符号列表,因此它会读取所有打开的文件的源代码,因此如果您想要一个有用的符号列表,您应该在开始编程之前打开您需要的所有头文件。

即使 geany 想要自动查找您包含的头文件,它也无法猜测您想要在项目中使用哪个 gtk 版本(gtk2、gtk3……)..

请记住,geany 是轻量级的 :-)

但这是我的解决方法..(我猜你使用的是 Linux,并且有一个 shell、gcc 等)

为了完成工作我做了以下事情:

echo "#include <gtk/gtk.h>" > gtk_headers.c
gcc -E gtk_headers.c `pkg-config gtk+-3.0 --cflags --libs` -o gtk_headers.h

(我正在使用 gtk 版本 3,请调整 pkg-config 行以满足您的需求)

然后我打开我的项目文件和 gtk_headers.h,这样 geany 就可以撕掉我正在处理的 gtk 库的标题。

优点:简单

缺点:我在 geany 中打开的标题大约有 1.6 MB O_o

相关内容