エディターとの統合 link

Ren'Pyはユーザーがランチャーからスクリプトを編集するため、またユーザーにエラーを報告するためにテキストエディターを使用します。デフォルトでは、Ren'Pyはランチャーから起動されたときはJEditを、そうでなければシステムデフォルトのエディターを使用します。これは必要ならカスタマイズできます。

エディターは .edit.py ファイルに Editor クラスを作成することでカスタマイズできます。このクラスはテキスト編集のために呼び出されるメソッドを含みます。

直接起動すると、 Ren'Py は .edit.py を見つけるために環境変数 RENPY_EDIT_PY を参照します。一つでも見つかれば、そこで定義された Editor クラスを使用し、見つからなければシステム固有の方法でエディターを起動する組み込みの Editor クラスを使用します。

Ren'Py ランチャーは起動すると、プロジェクトとRen'Pyディレクトリーのサブディレクトリーを探して、 name.edit.py (例えばlauncher/jEdit.edit.py や myeditor/MyEditor.edit.py が見つかります) 形式のファイルを見つけます。特定の name を持つ最新のエディターがユーザーにランチャーの設定の一部として提供されています。また、ランチャーは RENPY_EDIT_PY を選択したファイルに設定するので、ランチャーから起動されたゲームは選択されたエディターを使用します。

.edit.pyファイルの書き方 link

edit.pyファイルは (Ren'Py ではなく) Editorという名前の一つのクラスが定義されていなければならない Python ファイルです。 Ren'Py はテキスト編集のためにこのクラスのメソッドを呼び出します。

エディタートランザクションの一部としてエディターの使用は処理されます。これは関連する操作をグループ化します。例えばエディタートランザクションに新規ウィンドウが要求されると、そのトランザクション内のすべてのファイルは、同じ新しいウィンドウに開かれるべきです。エディタートランザクションは begin メソッドの呼び出しで開始され、一つ以上の操作用のメソッドを経由して、 end メソッドで終了します。

edit.py ファイルは renpy.editor をインポートし、 Editor クラスは renpy.editor.Editor を継承するべきです。追加のキーワード引数をメソッドに加えるために、定義する各メソッドは未知のキーワード引数を無視するべきです。あなた自身の Editor サブクラスを定義するために、 self 引数も表示しています。

class Editor link
begin(self, new_window=False, **kwargs) link

エディタートランザクションを開始します。

new_window が True のとき、エディターは新しいウィンドウを開くべきです。それ以外の場合は、既存のエディターのウィンドウでトランザクション処理を試みるべきです。

end(self, **kwargs) link

トランザクションを終了します。

open(self, filename, line=None, **kwargs) link

filename をエディターで開きます。

line が None でないなら、エディターの line の行に移動しようとします。