Gedit 插件:如何从 Gedit 中的另一个文件获取新打开的文件的缓冲区?

Gedit 插件:如何从 Gedit 中的另一个文件获取新打开的文件的缓冲区?

我写了一个 Gedit 插件代码,可以打开另一个文件,

self.window.create_tab_from_location(Gio.file_new_for_path(file_path), 
                                    None, line_number, 0, False, True)

现在,在单独的选项卡中打开文件后,我想访问它的缓冲区。为此,我编写了以下代码

view = self.window.get_active_view()
buffer = view.get_buffer()

不知何故,我无法访问缓冲区。

我从终端打开了 Gedit,因此我尝试在打开新文件之前和之后打印视图对象的值,并得到了以下值:

pallab@pallab:~$ gedit

<View object at 0x7ff6965d4120 (GeditView at 0x22ee3f0)>
<View object at 0x7ff696560ab0 (GeditView at 0x22ee700)>

第一个结果是在窗口.create_tab_from_location被处决,第二次也在那之后。

之后我尝试打印缓冲区。因此,我添加了另一行

view = self.window.get_active_view()
buffer = view.get_buffer()
print (buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), False)

但是,它没有打印任何东西。

那么,我如何访问这个新文件的缓冲区?

操作系统:Ubuntu 14.04 LTS

Gedit 版本:3.10.4

相关内容