MySQL Workbench 手冊  /  擴充 Workbench  /  外掛程式與工具

C.3 外掛程式與工具

外掛程式是特殊的模組,會透過 Workbench GUI 向使用者公開。這通常是透過主選單或內容相關選單來完成。MySQL Workbench 的大部分功能都是使用外掛程式來實作;例如,表格、檢視和常式編輯器是原生的 C++ 外掛程式,正向和反向工程精靈也是。MySQL Workbench 中的管理員設施完全是以 Python 外掛程式實作。

外掛程式可以是一個簡單的函數,對輸入執行某些動作,並在不與使用者進一步互動的情況下結束。此類範例包括自動排列圖表,或對物件進行批次變更。若要建立一個簡單的外掛程式,該函數必須位於模組中,並使用 ModuleInfo 物件的 plugin 修飾器宣告為外掛程式。

外掛程式可以具有無限的執行時間,例如當它們由使用者透過圖形使用者介面驅動時。物件編輯器和 MySQL Workbench 中的精靈就是這種情況。雖然精靈類型的外掛程式必須以一般方式宣告,但只有外掛程式的進入點需要在外掛程式函數中執行,因為大部分額外功能將會因為使用者與 GUI 互動而調用。

注意

重新載入外掛程式需要重新啟動 MySQL Workbench。

匯入的外掛程式檔案 (及其編譯後的對應檔案) 儲存在這裡

表格 C.3 使用者外掛程式檔案位置

作業系統 檔案路徑
Windows %AppData%\MySQL\Workbench\modules
macOS ~使用者名稱/Library/Application Support/MySQL/Workbench/modules
Linux ~使用者名稱/.mysql/workbench/modules

使用此語法宣告外掛程式

@ModuleInfo.plugin(plugin_name, caption, [input], [groups], [pluginMenu])

這些參數的定義如下

  • plugin_name:外掛程式的唯一名稱。它只能包含字母數字字元、點和底線。

  • caption:在選單中用於外掛程式的標題。

  • input:輸入引數的選用清單。

  • groups:外掛程式所屬群組的選用清單。可辨識的值為

    • Overview/Utility:模型概觀中的 內容選單。

    • Model/Utility:圖表物件的選單。

    • Menu/<category>:主選單中的 外掛程式選單。

  • pluginMenu:外掛程式應該顯示在「外掛程式」選單中的子選單的選用名稱。例如,目錄物件公用程式。這相當於在群組清單中新增 Menu/<category>