我們都知道sublime text for Mac是應用在Mac上的一款前端代碼開發(fā)神器,它支持語法高亮、代碼補全、代碼片段(Snippet)、代碼折疊、行號顯示、自定義皮膚、配色方案等所有其它代碼編輯器所擁有的功能的同時,又保證了其飛快的速度!下面Macz小編就為大家介紹一下sublime text mac版實施輸入處理程序的技巧!
sublime text for Mac(前端代碼開發(fā)神器) 4.0(4094)漢化版
由于輸入處理程序使用的是相當通用的界面,因此在命令中添加一個界面可能需要仔細考慮,并且可能不是最直觀的過程。
我們將實現(xiàn)一個示例輸入處理程序,并說明您可以針對高級配置進行調整的更多齒輪。
重要
要為命令使用輸入處理程序, 該命令必須在“ 命令面板”中具有一個條目。這很容易忘記,因此請務必記?。?/p>
讓我們從一個非常簡單的命令開始,該命令將給定的文本插入到視圖中。以下兩個文件可以放在任何包文件夾中,包括“用戶”。
該*Command.input方法
在執(zhí)行命令時,它會接收其run方法的鍵控參數(shù)。如果簽名中的參數(shù)不提供默認值,則只有在為所有此類參數(shù)都提供了參數(shù)的情況下才能調用它。調用參數(shù)太少的命令將失敗,并導致將異常打印到控制臺。
在這種情況下,命令可以實現(xiàn)該input方法 并返回輸入處理程序實例,該實例為Sublime Text提供了必要的信息以顯示輸入處理程序。
該input函數(shù)采用一個args參數(shù),該參數(shù)是命令的所有當前已知參數(shù)的決定。由于我們知道此時僅text缺少必需的參數(shù)(),因此我們將不使用該參數(shù)。
我們尚未定義MyTextInputHandler,所以讓我們開始吧。
子類化 TextInputHandler
要為文本創(chuàng)建簡單的輸入處理程序,我們創(chuàng)建的子類。在子類中,我們可以覆蓋特定的方法。對于最基本的功能,我們需要。此外,為方便起見,我們定義。
當然,您仍然可以像以前一樣從按鍵綁定或通過控制臺調用命令。提供所有必需的參數(shù)后,將跳過輸入處理程序,并立即運行命令。
渲染預覽
preview每次修改輸入的文本都會調用該方法,并允許在“命令面板”下方顯示一個小的預覽。預覽可以是純文本,也可以使用minihtml 作為啟用了標記的格式。
下面的代碼片段擴展了我們的輸入處理程序,以顯示將要插入的字符數(shù):
還有其他可以覆蓋的方法。這些在文檔中進行了描述。
# 使用動態(tài)數(shù)據
您可能已經注意到,我們的MyTextInputHandler課程與我們的課程完全分開SampleCommand。如果我們希望輸入處理程序依賴于某些動態(tài)數(shù)據(例如當前視圖的選擇),則必須將此類值提供給輸入處理程序的構造函數(shù)。
以下代碼片段將文本命令的View實例傳遞給輸入處理程序的構造函數(shù)。構造函數(shù)本身將實例存儲在instance屬性中,以后從中訪問它preview。
提供選項列表 ListInputHandler
除了提供自由格式的輸入外,您還可以為用戶提供他們可以選擇的值列表。這是通過細分處理sublime_plugin.ListInputHandler 并提供一種list_items返回值列表以供選擇的方法來完成的。該列表可以是字符串列表或元組列表,其中第一個元素表示要顯示的文本,第二個元素表示要插入的值作為命令的參數(shù)。
請注意,我們name此處未實現(xiàn),因為Sublime Text可以使用與命令名稱相同的邏輯,但通過剝離“ InputHandler”,從類名自動推斷出輸入處理程序的目標參數(shù)名稱。
提醒
請記住,您需要通過在.sublime-commands文件中指定上述命令來使其對命令面板可用。
責任編輯: