一、效果
很多编辑器或者IDE在创建头文件后会自动生成 #ifndef
防止该头文件被重复引用,vscode 没有自带这个功能,需要通过自定义添加。
二、步骤
-
Shift+Ctrl+P ,打开命令面板
-
输入
snippets
,找到Preferences:Configure User Snippets
-
选择
新建全局代码片段文件...
-
输入
c_cpp_header
(该名称可以自定义),会生成c_cpp_header.code-snippets
配置文件,默认如下:{ // Place your 全局 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" // } }
-
按照上面
Example
下面的格式在{ }
里面添加以下代码:"C C++ Header": { "scope": "c, cpp", "prefix": "header", "description": "Add #ifndef, #define and #endif", "body": [ "#ifndef _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H_", "#define _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H_", "", "$0", "", "#endif // _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H_" ] }
-
使用:新建一个头文件,输入
header
,回车即可生成 :
-
生成的格式如下 :