API 參考
JEditor 提供公開的 Python API,讓您可以將它作為函式庫使用、擴充功能, 或整合到您自己的應用程式中。
啟動編輯器
from je_editor import start_editor
start_editor()
以程式方式啟動完整的 JEditor 應用程式。
核心類別
EditorMain
主視窗類別,包含整個編輯器 UI。
from je_editor import EditorMain
EditorWidget
程式碼編輯器元件(單一編輯分頁)— 自訂的 QPlainTextEdit。
from je_editor import EditorWidget
FullEditorWidget
完整的編輯器元件,包含行號、語法高亮和輸出顯示, 適合嵌入到停靠面板中。
from je_editor import FullEditorWidget
MainBrowserWidget
嵌入式網頁瀏覽器元件。
from je_editor import MainBrowserWidget
使用自訂分頁擴充編輯器
使用 EDITOR_EXTEND_TAB 為 JEditor 新增自訂分頁:
from je_editor import start_editor, EDITOR_EXTEND_TAB
EDITOR_EXTEND_TAB.update({"My Tab": MyCustomWidget})
start_editor()
詳見 使用 PySide6 擴充 的完整範例。
程序管理器
ExecManager
管理程式執行(執行 Python 腳本和編譯後的二進位檔)。
from je_editor import ExecManager
ShellManager
管理 Shell 命令執行。
from je_editor import ShellManager
語法高亮
PythonHighlighter
內建的 Python 語法高亮器。
from je_editor import PythonHighlighter
syntax_extend_setting_dict / syntax_rule_setting_dict
定義高亮器語法關鍵字和規則的字典。
from je_editor import syntax_extend_setting_dict, syntax_rule_setting_dict
設定
user_setting_dict
包含所有使用者設定(字型、語言、主題等)的字典。
from je_editor import user_setting_dict
user_setting_color_dict
包含所有色彩設定的字典。
from je_editor import user_setting_color_dict
多語言
language_wrapper
根據目前語言返回指定鍵值的翻譯字串。
from je_editor import language_wrapper
label = language_wrapper("file_menu_label") # 返回 "File" 或對應的翻譯
english_word_dict / traditional_chinese_word_dict
內建的翻譯字典。
from je_editor import english_word_dict, traditional_chinese_word_dict
插件 API
程式語言插件
from je_editor import (
register_programming_language,
get_programming_language_plugin,
get_all_programming_language_suffixes,
)
register_programming_language(suffix, syntax_words, syntax_rules=None)— 註冊新語言get_programming_language_plugin(suffix)— 取得特定副檔名的插件get_all_programming_language_suffixes()— 列出所有已註冊的副檔名
自然語言插件
from je_editor import (
register_natural_language,
get_natural_language_plugin,
get_all_natural_languages,
)
register_natural_language(language_key, display_name, word_dict)— 註冊翻譯get_natural_language_plugin(language_key)— 取得翻譯字典get_all_natural_languages()— 列出所有已註冊的語言
執行設定插件
from je_editor import (
register_plugin_run_config,
get_all_plugin_run_configs,
get_plugin_run_config_by_suffix,
)
register_plugin_run_config(config)— 註冊執行���定get_all_plugin_run_configs()— 列出所有執行設定get_plugin_run_config_by_suffix(suffix)— ��得特定副檔名的執行設定
插件元資料
from je_editor import (
register_plugin_metadata,
get_all_plugin_metadata,
)
register_plugin_metadata(name, author, version)— 註冊插件資訊get_all_plugin_metadata()— 列出所有已註冊的插件元資料
插件載入器
from je_editor import load_external_plugins
load_external_plugins()
掃描 jeditor_plugins/ 資料夾並載入所有發現的插件。
日誌
from je_editor import jeditor_logger
jeditor_logger.info("自訂日誌訊息")
jeditor_logger 是標準的 Python 日誌器,寫入 JEditor.log。
例外處理
JEditor 定義了一套自訂例外類別階層:
from je_editor import (
JEditorException, # 基礎例外
JEditorExecException, # 執行錯誤
JEditorRunOnShellException, # Shell 執行錯誤
JEditorSaveFileException, # 檔案儲存錯誤
JEditorOpenFileException, # 檔案開啟錯誤
JEditorContentFileException, # 檔案��容錯誤
JEditorCantFindLanguageException, # 找不到語言
JEditorJsonException, # JSON 解析錯誤
)