VSCode snippets配置教程
宏
BLOCK_COMMENT_START 块注释上半段
BLOCK_COMMENT_END 块注释下半段,
LINE_COMMENT 行注释,输出示例:
TM_SELECTED_TEXT:当前选定的文本或空字符串;
注:选定后通过在命令窗口点选「插入代码片段」插入。
TM_CURRENT_LINE:当前行的内容;
TM_CURRENT_WORD:光标所处单词或空字符串
注:所谓光标一般为文本输入处那条闪来闪去的竖线,该项可定制。单词使用 VSCode 选词(Word Wrap)器选择。你最好只用它选择英文单词,因为这个选择器明显没有针对宽字符优化过,它甚至无法识别宽字符的标点符号。
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: 当前秒数。
示例
{
"C Header": {
"prefix": "hd",
"body": [
"/**\n * Create by shuaikai ${CURRENT_YEAR}/${CURRENT_MONTH}/${CURRENT_DATE} ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}",
" *\n * Copyright (c) shuaikai. All rights reserved.\n */\n"
"#ifndef ${1:${TM_FILENAME_BASE/(.*)(\\.\\w+$)/${1:/upcase}/}_H}",
"#define ${1:${TM_FILENAME_BASE/(.*)(\\.\\w+$)/${1:/upcase}/}_H}",
"\n$0\n\n\n""#endif // ${1:${TM_FILENAME_BASE/(.*)(\\.\\w+$)/${1:/upcase}/}_H}"
],
"description": "Create C Header"
},
"Begin a Leetcode Project": {
"scope": "c++",
"prefix": "lc",
"body": [
"/**\n * BRIEF: $1\n * ",
" * LINK: $2\n * ",
" * Create by shuaikai ${CURRENT_YEAR}/${CURRENT_MONTH}/${CURRENT_DATE} ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}",
" * Copyright (c) shuaikai. All rights reserved.\n */\n",
"#include \"common.h\"\n",
"using namespace std;\n",
"class Solution {\npublic:",
"\t$0\n};",
"int main(){\n\tSolution su;\n\n\treturn 0;\n}"
],
"description": "Begin a Leetcode Project"
},
"template<typename T>": {
"prefix": "tp",
"body": "template <typename ${1:T}>$0"
},
"main()": {
"prefix": "main",
"body": [
"#include\"common.h\"",
"\nusing namespace std;\n",
"int main(int argc, char const *argv[]) {\n\t$0\n\n\treturn 0;\n}"
]
},
"Header Include-Guard": {
"prefix": "idef",
"body": "#ifndef ${1:SYMBOL}\n#define $1\n#endif // $1\n"
},
"Switch Statement": {
"prefix": "sw",
"body": "switch ($1) {\n$2default:\n\t${3:break;}\n}$0"
},
"case break": {
"prefix": "cs",
"body": "case $1:\n\t$2\n\tbreak;\n$0"
},
"write file": {
"prefix": "wf",
"body": "FILE *${1:fp};\n${1:fp} = fopen (\"${2:filename.txt}\",\"w\");\nif (${1:fp}!=NULL)\n{\n\tfprintf(${1:fp},\"${3:Some String\\\\n}\");\n\tfclose (${1:fp});\n}"
},
"read file": {
"prefix": "rf",
"body": "FILE *${1:fp};\n${1:fp} = fopen (\"${2:filename.txt}\",\"r\");\nif (${1:fp}!=NULL)\n{\n\tfscanf(${1:fp},\"${3:Some String\\\\n}\", ${3:&var});\n\tfclose (${1:fp});\n}",
"description": "read file opeartion including fopen, fscanf and fclose."
}
}