前提:
为了避免简单的重复劳动,借助VSCODE 快速生成文件头部,在项目搭建中体验非常舒适。
官方指导
{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
}
生成 .c 用户片段
-
打开 VSCODE,文件 -> 首选项 -> 配置用户片段
-
点击完成后弹出会话窗口,篮框为已配置的用户片段,点击:New Snippets新建全局片段
-
输入片段文件名,命名 “c.code”
-
拷贝如下内容,可以生成.c 文件用户片段:
{
"CcHEADER":{
"scope": "c, cpp",
"prefix": "cpp",
"description": "header C/C++",
"body": [
"/*------------------------------------------------------------------------------",
" * @file ${TM_FILENAME/(.*)/${1:/upcase}/}",
" * @author FIRMWARE TEAM ",
" * @date $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
" * @brief THIS FILE PROVIDES ALL THE FIRMWARE FUNCTIONS.",
" * -----------------------------------------------------------------------------",
" * @attention ",
" ",
" * THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE ",
" * CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE ",
" * TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR ",
" * CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH ",
" * HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN ",
" * CONNECTION WITH PRODUCTS MADE BY CUSTOMERS. ",
" * ",
" * <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2> ",
"------------------------------------------------------------------------------*/",
"",
"/* Define to prevent recursive inclusion ------------------------------------*/",
"#define _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_C_",
"",
"/* Files includes -----------------------------------------------------------*/",
"#include \"$TM_FILENAME_BASE.h\"",
"","",
"/*----------------------------------------------------------------------------*/",
"$0",
""
],
}
}
- 如何调用:
新建文件,并指定后缀名为.c或者.cpp,文本输入 “cpp”,自动弹出CcHENDER
片段提示,回车就可以生成下图效果。
实际效果:
生成 .h 用户片段
同步骤1-5.
{
"C HEADER":{
"scope": "c, cpp",
"prefix": "ch",
"description": "header C/C++",
"body": [
"/*------------------------------------------------------------------------------",
" * @file ${TM_FILENAME/(.*)/${1:/upcase}/}",
" * @author FIRMWARE TEAM ",
" * @date $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
" * @brief THIS FILE PROVIDES ALL THE FIRMWARE FUNCTIONS.",
" * -----------------------------------------------------------------------------",
" * @attention ",
" ",
" * THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE ",
" * CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE ",
" * TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR ",
" * CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH ",
" * HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN ",
" * CONNECTION WITH PRODUCTS MADE BY CUSTOMERS. ",
" * ",
" * <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2> ",
"------------------------------------------------------------------------------*/",
"",
"/* Define to prevent recursive inclusion ------------------------------------*/",
"#ifndef __${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",
"#define __${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",
"",
"/* Files includes -----------------------------------------------------------*/",
"","",
"/* Defines -------------------------------------------------------------------*/",
"","",
"/* Variables -----------------------------------------------------------------*/",
"#ifdef _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_C_",
"#define GLOBAL",
"","","",
"#else",
"#define GLOBAL extern",
"#endif",
"","","",
"#undef GLOBAL",
"",
"/* Functions ----------------------------------------------------------------*/",
"$0",
"","",
"#endif",
""
],
}
}
-
如何使用
新建后缀名为 .h的文件,文本输入 “ch”, 即可自动生成。 -
实际效果