外掛程式是特殊的模組,會透過 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>
。