【Godot4】プロジェクトのルートのディレクトリーを外部テキストエディターで開くプラグインを作る

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Godot4】プロジェクトのルートのディレクトリーを外部テキストエディターで開くプラグインを作る

2024-6-21 | ,

Godot4でプロジェクトのルートのディレクトリーを外部テキストエディターで開くプラグインを作りたい!

概要

今回の記事では、Godot4でプロジェクトのルートのディレクトリーを外部テキストエディターで開くプラグインを作る手順を掲載する。

仕様書

環境

  • Gogot 4.2.2

手順書

addons/open_dir_by_external_text_editorみたいな感じでプラグインのファイルを保管するディレクトリーを作る。

作ったディレクトリーにopen_dir_by_external_text_editor.gdを作って、下記のような感じにする。

@tool
extends EditorPlugin

func _enter_tree():
    add_tool_menu_item("Open Project Dir By External Text Editor", Callable(self, "_on_open_dir_by_external_text_editor"))

func _exit_tree():
    remove_tool_menu_item("Open Project Dir By External Text Editor")

func _on_open_dir_by_external_text_editor():
    var project_path = ProjectSettings.globalize_path("res://")
    var settings = EditorInterface.get_editor_settings()
    var exec_path = settings.get_setting("text_editor/external/exec_path")
    OS.execute(exec_path, [project_path])

Editor Settingsの外部テキストエディターの設定を読みっ取って、プロジェクトのルートのディレクトリーのパスを引数で渡してやる感じ。

VSCodeでは意図したとおりに動作したんだけども、ディレクトリーを開けないタイプのテキストエディターを設定してる場合は動作しない。

Editor Settingsの設定とは別にテキストエディターを設定したい場合はfunc _on_open_dir_by_external_text_editor():を下記のような感じにして直接使いたいテキストエディターのパスを書く。

func _on_open_dir_by_external_text_editor():
    var project_path = ProjectSettings.globalize_path("res://")
    OS.execute(`C:\texteditor\texteditor.exe`, [project_path])

同じディレクトリーにplugin.cfgを作り、下記のような感じに。

[plugin]
name="Open Dir By External Text Editor"
author="Your Name"
version="1.0"
description="Open the project dir in external text editor"
script="open_dir_by_external_text_editor.gd"

Project SettingsのPluginsでOpen Dir By External Text EditorのStatusにチェックする。

上部のメニューのProjectsのToolsの中にOpen Dir By External Text Editorが追加されてるので、これを選択すると外部テキストエディターでプロジェクトのルートのディレクトリーが開く。

まとめ(感想文)

VSCodeだとコードエディターを水平に並べたり、拡張機能でToDoを管理できたりするので便利かもね!