本文參考鏈接:https://blog.csdn.net/weixin_40579884/article/details/97165221
- 新建代碼模板
- 添加代碼塊主體及主要語法如下(Snippets語法):
"Print to 代碼塊名稱": { "prefix": "對應觸發代碼片段的字符", "body": [ "代碼塊內容,必須使用雙引號引起來", "此處為光標首次所在: $1", "此處為光標二次所在: $2" ], "description": "代碼塊描述,會在快捷鍵右側注釋處展示" }
- 其他語法以及模板可攜帶的參數
1.占位符之光標 $number
$后面緊跟數字可指定代買片段觸發並落入編輯器之后的光標位置,光標位置按照從小到大排序,可以使用 tab 鍵切換到下一個。
如上,代碼片段添加到文件中后,光標首1先落在$1處,按Tab鍵,光標落在$2位置
2.占位符之可選值 ${ number | a,b,c,... }
括號中的 number 對應的是按 tab 之后的光標落點順序, abc 為可選的項,用逗號隔開。例如: ${ 1 | type1 , type2 },即為,第一個光標位置,候選值: type1 , type2,也可以候選更多
如果只有一個默認值,可以寫成:${ 1: default }
支持嵌套模式,例如:${ 1: another ${ 2: company } }
3.占位符之變量 $variable , ${ variable : default }
使用$variable,可以插入變量的值,${ variable : default }可以在未賦值的情況下提供默認值
可使用變量如下:
- 文本或文件相關類
變量名 含義
TM_SELECTED_TEXT 當前選定的文本或空字符串
TM_CURRENT_LINE 當前行的內容
TM_CURRENT_WORD 光標所處單詞或空字符串
TM_LINE_INDEX 行號(從零開始)
TM_LINE_NUMBER 行號(從一開始)
TM_FILENAME 當前文檔的文件名(含后綴名)
TM_FILENAME_BASE 當前文檔的文件名(不含后綴名)
TM_DIRECTORY 當前文檔所在目錄
TM_FILEPATH 當前文檔的完整文件路徑
CLIPBOARD 當前剪貼板中內容
- 日期和時間類
變量名 含義
CURRENT_YEAR 當前年份
CURRENT_YEAR_SHORT 當前年份的后兩位
CURRENT_MONTH 格式化為兩位數字的當前月份,如 02
CURRENT_MONTH_NAME 當前月份的全稱,如 July
CURRENT_MONTH_NAME_SHORT 當前月份的簡稱,如 Jul
CURRENT_DATE 當天月份第幾天
CURRENT_DAY_NAME 當天周幾,如 Monday
CURRENT_DAY_NAME_SHORT 當天周幾的簡稱,如 Mon
CURRENT_HOUR 當前小時(24 小時制)
CURRENT_MINUTE 當前分鍾
CURRENT_SECOND 當前秒數
4.轉義字符,作普通字符使用時,$ , } , " ,\ 等 可使用 \(反斜杠)轉義。
- 我的java class模板
{ "javaClass-template": { "prefix": "javaBaseClass", "body": [ "package $1;", "", "", "", "/*", "* Author:gm", "* Description: $2", "* Date: Create in ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}", "*/", "class ${TM_FILENAME_BASE}{", "", "", "", "}", ], "description": "my vsCode javaClassTemplate" } }
效果如下:
tab 鍵切換到下一個$number