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

BPS*_*BPS 3 gtk code-completion gtksourceview

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

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

M. *_* E. 6

您需要的是通过key-press-event信号(或类似信号)解析用户输入.

  • 获取GtkTextBuffer通过调用gtk_text_view_get_buffer.
  • 获取GtkTextMark通过调用gtk_text_buffer_get_insert.
  • 获取GtkTextIter通过调用gtk_text_buffer_get_iter_at_mark.
  • 通过gtk_text_iter_ends_word检查GtkTextIter是否在单词的末尾.
  • 如果它是
    • 然后使用gtk_text_iter_backward_word_start获取单词开头的GtkTextIter.
    • 调用gtk_text_buffer_get_text来获取未完成的单词.
    • 搜索相关标识符并将其显示在GTK_WINDOW_POPUP类型的GtkWindow上的GtkTreeView中.

如果你想显示自动完成列表之后.::或者->,那么你应该象上面的方法得到了一个字.


Cra*_*aig 6

是的,你可以按照ccSadegh 所说的去做。或者你可以只使用GtkSourceCompletion