利用VS Code Snippets生成C++头文件保护符

Posted on Sun 07 October 2018 in programming

Solution

将下列代码贴入你的snippets中,然后在cpp文件中输入pre+tab即可自动生成相关头文件

{
    "Preprocessor of cpp file":{
        "prefix": "pre",
        "body": [
            "#ifndef ${TM_FILENAME/(.*)(\\.)+(.*)/$${1:/upcase}_${3:/upcase}/}",
            "#define ${TM_FILENAME/(.*)(\\.)+(.*)/$${1:/upcase}_${3:/upcase}/}",
            "class ${TM_FILENAME/([a-z])(.*)(\\.)+(.*)/${1:/upcase}${2}/} {",
                "$1",
            "};",
            "#endif"
        "description": "Preprocessor of cpp and hpp file"
    }
}

每一个snippetprefix, bodydescription组成,其中prefix表示你的快捷键符,body是你的snippet内容。 $TM_FILENAME是系统定义的变量,表示当前文件的完整文件名,然后利用正则表达式生成对应的头文件保护符。

解决VS Code中markdown的snippet无法自动补全

原因是markdown文件中的quickSuggetions默认是false, 因此在user setting中添加下列代码即可

 "[markdown]":  {
    "editor.quickSuggestions": true
  },

Reference

https://code.visualstudio.com/docs/editor/userdefinedsnippets#_global-snippets https://github.com/Microsoft/vscode/issues/26108