Godot 3.3
在做编辑脚本的插件的时候也许会用到,下面我是在编辑器脚本中做实验,随便创建个脚本,代码内容如下,按 Ctrl +Shift + X
执行
tool
extends EditorScript
## 源代码中的执行菜单选项的枚举项
enum {
FILE_NEW,
FILE_NEW_TEXTFILE,
FILE_OPEN,
FILE_REOPEN_CLOSED,
FILE_OPEN_RECENT,
FILE_SAVE=5,
FILE_SAVE_AS,
FILE_SAVE_ALL,
FILE_THEME,
FILE_RUN,
FILE_CLOSE,
CLOSE_DOCS,
CLOSE_ALL,
CLOSE_OTHER_TABS,
TOGGLE_SCRIPTS_PANEL,
SHOW_IN_FILE_SYSTEM,
FILE_COPY_PATH,
FILE_TOOL_RELOAD,
FILE_TOOL_RELOAD_SOFT,
SEARCH_IN_FILES,
REPLACE_IN_FILES,
SEARCH_HELP,
SEARCH_WEBSITE,
HELP_SEARCH_FIND,
HELP_SEARCH_FIND_NEXT,
HELP_SEARCH_FIND_PREVIOUS,
WINDOW_MOVE_UP,
WINDOW_MOVE_DOWN,
WINDOW_NEXT,
WINDOW_PREV,
WINDOW_SORT,
WINDOW_SELECT_BASE = 100
}
func _run():
var script_editor := get_editor_interface().get_script_editor() as ScriptEditor
var script = script_editor.get_current_script()
script_editor._menu_option(FILE_SAVE) # 保存
# 通过下面方法获得编辑器没有显示出来的方法,可以使用显示出来的方法
# 不过不推荐使用,因为可能会造成编辑器闪退或其他意外后果
print_data(get_object_method_name_list(script))
print_data(script.get_script_method_list())
print_data(script.get_script_signal_list())
## 格式化输出数据
func print_data(data):
print(JSON.print(data, '\t'))