你好,歡迎進(jìn)入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!
發(fā)布時(shí)間:2024-07-22
瀏覽次數(shù):0
我們都知道 Text for Mac 是一款 Mac 前端代碼開發(fā)工具,它支持語法高亮、代碼補(bǔ)全、代碼片段()、代碼折疊、行號(hào)顯示、自定義皮膚、配色方案等其他代碼編輯器的全部功能,同時(shí)又保證了它極快的速度!下面 Macz 編輯器就給大家介紹一下在 Text for Mac 中實(shí)現(xiàn)輸入處理程序的技巧!
在文本 mac 中實(shí)現(xiàn)輸入處理程序的技巧
由于輸入處理程序使用相當(dāng)通用的接口,因此將其添加到命令中可能需要仔細(xì)考慮,并且可能不是最直觀的過程。
我們將實(shí)現(xiàn)一個(gè)示例輸入處理程序,并說明一些您可以調(diào)整以進(jìn)行高級(jí)配置的更多裝置。
重要的
要使用命令的輸入處理程序,該命令必須在命令面板中有一個(gè)條目。這很容易忘記,所以一定要記?。?/p>
讓我們從一個(gè)非常簡(jiǎn)單的命令開始,該命令將給定的文本插入視圖。以下兩個(gè)文件可以放在任何包文件夾中,包括“用戶”。
*.輸入法
執(zhí)行命令時(shí),它會(huì)接收其 run 方法的鍵控參數(shù)。如果簽名中的參數(shù)未提供默認(rèn)值,則只有為所有此類參數(shù)提供參數(shù)時(shí)才能調(diào)用該命令。如果調(diào)用的命令參數(shù)太少,則會(huì)失敗并導(dǎo)致異常打印到控制臺(tái)。
在這種情況下,命令可以實(shí)現(xiàn)輸入方法并返回一個(gè)輸入處理程序?qū)嵗?,該?shí)例為文本提供顯示輸入處理程序所需的信息。
輸入函數(shù)采用 args 參數(shù),該參數(shù)是命令當(dāng)前已知所有參數(shù)的解析。由于我們知道此時(shí)只有文本缺少必需的參數(shù) ( ),因此我們不會(huì)使用該參數(shù)。
我們還沒有定義它,所以讓我們開始吧。
子類化
為了創(chuàng)建一個(gè)簡(jiǎn)單的文本輸入處理程序,我們創(chuàng)建了一個(gè) Human 子類。在 Human 中,我們可以重寫特定的方法。對(duì)于最基本的功能,我們需要。此外,為了方便起見,我們定義
當(dāng)然,您仍然可以像以前一樣通過鍵綁定或控制臺(tái)調(diào)用命令。當(dāng)提供了所有必需的參數(shù)時(shí),將跳過輸入處理程序并立即運(yùn)行命令。
渲染預(yù)覽
每次修改輸入的文本時(shí)都會(huì)調(diào)用該方法,并允許在命令面板下方顯示一個(gè)小的預(yù)覽。預(yù)覽可以是純文本,也可以是啟用 的格式。
以下代碼片段擴(kuò)展了我們的輸入處理程序以顯示將插入的字符數(shù):
還有其他方法可以重寫。這些方法在文檔中有描述。
# 使用動(dòng)態(tài)數(shù)據(jù)
您可能已經(jīng)注意到我們的類與我們的完全不同。如果我們希望輸入處理程序依賴于某些動(dòng)態(tài)數(shù)據(jù)(例如當(dāng)前視圖的選擇),我們必須向輸入處理程序的構(gòu)造函數(shù)提供這樣的值。
以下代碼片段將文本命令的 View 實(shí)例傳遞給輸入處理程序的構(gòu)造函數(shù)。構(gòu)造函數(shù)本身將該實(shí)例存儲(chǔ)在稍后可從中訪問的屬性中。
提供選項(xiàng)列表
除了提供自由格式的輸入外,您還可以為用戶提供他們可以選擇的值列表。這是通過分解流程來實(shí)現(xiàn)的。并提供返回可供選擇的值列表的方法。列表可以是字符串列表或元組列表,其中第一個(gè)元素表示要顯示的文本,第二個(gè)元素表示要作為命令的參數(shù)插入的值。
請(qǐng)注意sublime text mac,我們?cè)谶@里沒有實(shí)現(xiàn)名稱,因?yàn)檩斎胩幚沓绦虻哪繕?biāo)參數(shù)名稱可以使用與命令名稱相同的邏輯從類名中自動(dòng)推斷出來,但是通過剝離“ Text ”。
提醒
請(qǐng)記住,您需要通過在 .-file 中指定上述命令sublime text mac,以使命令面板可以使用它們。
以上就是mac版text中實(shí)現(xiàn)輸入處理的小技巧,希望對(duì)大家有幫助。
如有侵權(quán)請(qǐng)聯(lián)系刪除!
Copyright ? 2023 江蘇優(yōu)軟數(shù)字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服務(wù)提供商
13262879759
微信二維碼