這幾天因為一個需求,要不斷重覆一個用特定代碼段去包圍不同代碼的需求。 這個要不斷移動滑鼠以及重覆敲打相同代碼的體力活,實在讓我老眼昏花,體內的懶人之力迫使我想一個快捷的方法來代替之。 之前就知道Snippet能夠自定義代碼段,藉此機會正好研究了下,接下來我會簡單介紹一個自定義Snippet的例子。 ...
這幾天因為一個需求,要不斷重覆一個用特定代碼段去包圍不同代碼的需求。
這個要不斷移動滑鼠以及重覆敲打相同代碼的體力活,實在讓我老眼昏花,體內的懶人之力迫使我想一個快捷的方法來代替之。
之前就知道Snippet能夠自定義代碼段,藉此機會正好研究了下,接下來我會簡單介紹一個自定義Snippet的例子。
1. 打開VSCode, 按ctrl+shift+p 打開command palette, 輸入Snippet,如下
2.選擇Configure User Snippets,接著會讓你選擇創建的Snippet應用於哪種語言,在這裡我選擇的是JavaScript
3. 選擇完語言類型之後,就會生出一個相對應的Json文件
欄位名以及含義:
1. ‘Print to console': 是這個Snippet的名字,隨便你取張三李四
2. ’prefix': 是呼出這個Snippet的簡稱
3. ‘body': 是自定義的代碼段主體
4. ’description': 顧名思義,在選擇Snippet的時候,對Snippet的解釋也會浮現於下方
這裡重點要看body,body部分便是你所定義的代碼段的輸出,下圖是自己寫的一個例子
可以看到body部分定義了兩行內容,這裡的一行內容就是定義了實際的一行代碼。
body部分可以定義游標位置,可以添加占位符,以及加入變數,上圖中的TM_SELECTED_TEXT的意思就是選中的內容,當我們選中一段文字後,在添加這個定義好的代碼段,
選中的內容就會替代這個變數從而達到我一開始的目的,相同的代碼去包含不同的內容。(這裡不再詳細解釋body相關的語法,有興趣的可以查閱相關文檔)
有一個註意的點就是,如果我們是通過選中文字的方式來添加Snippet,那麼常規操作就是通過ctrl+shift+p 選擇insert snippet,再接著選擇Snippet,發現這樣也並不方便。
之後想了下,是否可以通過把Snippet綁定到自定義快捷鍵上,這樣就又能提高效率,查閱相關文檔之後發現,確實可行。
ctrl+shift+p 呼出command palette,輸入preference open keyboard shortcuts file,這樣就打開了快捷鍵定義文件。
key 表示自定義的相關快捷鍵組合,如何定義可以查閱相關文檔,還是很簡單的
command 表示快捷鍵按下後的命令語句
when 表示什麼時候下快捷鍵組合會調用該命令語句
args 這邊填入的是Snippet參數,langId 代表語言類型,即我在一個html文件中嵌套的js也能出發該快捷鍵功能,name是你之前自定義的Snippet名稱。
好,一切就緒,我們嘗試一下,選中內容,ctrl+2
Yeah, 確實可行
這次就演示了一個簡單的demo,有興趣的可以看一下下方文檔,研究一下。
嗯~ 微軟大法好
相關文檔:https://code.visualstudio.com/docs/editor/userdefinedsnippets