Gtk 如何使基本代码自动完成?

Gtk 如何使基本代码自动完成?,gtk,code-completion,gtksourceview,Gtk,Code Completion,Gtksourceview,我正在GTK和gtksourceview2.0中制作简单的代码编辑器。我想在编辑器中添加一个代码完成窗口。应该有10-15个关键字(始终相同) 任何人都可以给我一些教程的url或描述gtk_source_completion_XXX函数的用法吗?您需要的是通过按键事件信号(或类似信号)解析用户输入 通过调用gtk_text_view_Get_buffer获取GtkTextBuffer 通过调用gtk_text_buffer_Get_insert获取GtkTextMark 通过调用gtk_tex

我正在GTK和gtksourceview2.0中制作简单的代码编辑器。我想在编辑器中添加一个代码完成窗口。应该有10-15个关键字(始终相同)


任何人都可以给我一些教程的url或描述gtk_source_completion_XXX函数的用法吗?

您需要的是通过
按键事件
信号(或类似信号)解析用户输入

  • 通过调用gtk_text_view_Get_buffer获取GtkTextBuffer
  • 通过调用gtk_text_buffer_Get_insert获取GtkTextMark
  • 通过调用gtk_text_buffer_Get_iter_at_mark获取GtkTextIter
  • 通过gtk_text_iter_ends_word检查gtk文本是否位于单词的末尾
  • 如果是
    • 然后使用gtk_text_iter_backward_word_start获取单词开头的gtk文本
    • 调用gtk_text_buffer_get_text以获取未完成的单词
    • 搜索相关标识符并将其显示在GTK_窗口_弹出式GTK窗口上的GTK视图中

如果您想在
->
之后显示自动完成列表,那么您应该通过类似上述的方法获取上一个单词。

是的,您可以这样做。或者您可以直接使用。

GtkSourceCompletion是否也可以自动完成偏执、括号等?