リリース後の同じ経過時間の24.04よりもいい感じだ(最近では24.04もいい感じだ)。
デフォルトのテキストエディターは、gnome-text-editorであり、geditではない。
gnome-text-editorは、最初からスペルチェック機能があったりして便利だが、プラグイン機能がない。
geditは、gedit-source-code-browser-pluginをインストールすると、サイドパネル上に関数やマクロの一覧が表示され、それをクリックすると定義位置へジャンプできるようになる。
こういったプログラミングの支援機能を、geditなどのデフォルトエディタに求めるのもおかしいが、便利なのでずっと使っていた。
こういったものが使えなくなるのは残念だ。
gedit-source-code-browser-pluginは、26.04でも存在はするし、インストールもできるのだが、24.04のころから動かなくなっていた。
なんとかしようと、Geminiに相談してみた。
GTKやGnomeのバージョンがどんどん上がったため、gedit-source-code-browser-pluginがうまく動かないらしい。最新の環境向けに有志が修正したソースコードをユーザのローカル環境に配置することで解決できるらしい。
まずUbuntu24.04では、以下を実行することで、source-code-browserが動作するようになった。
# 一時的にクローン git clone https://github.com/GeditSourceCodePlugin/gedit-source-code-browser.git /tmp/gedit-source-code-browser # 必要なファイルとフォルダをローカルプラグインディレクトリにコピー cp -r /tmp/gedit-source-code-browser/sourcecodebrowser ~/.local/share/gedit/plugins/ cp /tmp/gedit-source-code-browser/sourcecodebrowser.plugin ~/.local/share/gedit/plugins/ # 一時フォルダの削除 rm -rf /tmp/gedit-source-code-browserUbuntu26.04では、これだけではダメだった。
どうやらさらに新しくなったようだ。対応するには改造が必要だ。
以下のファイルを書き換える。
~/.local/share/gedit/plugins/sourcecodebrowser/plugin.pyこのファイルの333行目付近
330 self._sourcetree.expand_rows = self.expand_rows
331 self._sourcetree.sort_list = self.sort_list
332 side_panel = self.window.get_side_panel()
333 self.side_panel_item = Tepl.Panel.add(side_panel, self._sourcetree, "SymbolBrowserPlugin", "Source Code", None)
334 self._handlers = []
335 hid = self._sourcetree.connect("draw", self.on_sourcetree_draw)
336 self._handlers.append((self._sourcetree, hid))
この赤色の行を、以下の緑色のように変更する。
330 self._sourcetree.expand_rows = self.expand_rows
331 self._sourcetree.sort_list = self.sort_list
332 side_panel = self.window.get_side_panel()
333
334 panel_item = Tepl.PanelItem(
335 widget=self._sourcetree,
336 name="SymbolBrowserPlugin",
337 title="Source Code",
338 icon_name=""
339 )
340 self.side_panel_item = panel_item
341 Tepl.Panel.add(side_panel, panel_item)
342 self._handlers = []
343 hid = self._sourcetree.connect("draw", self.on_sourcetree_draw)
344 self._handlers.append((self._sourcetree, hid))
こうしたら、gedit-source-code-browser-pluginが動くようになった。ソースコード用のテキストエディタとしては、vscodeやgeanyでもいいのだが、機能が多すぎて使いにくい。色々な補完機能が鬱陶しく感じる。
私には、gedit-source-code-browser-plugin程度で十分だ。