如何在 Visual Studio 代码片段中获取当前文件的父文件夹名称?

问题描述 投票:0回答:0

使用 或 ,您可以插入变量的值。如果未设置变量,则插入其default 或空字符串。当变量未知时(即未定义其名称),变量的名称将被插入并将其转换为占位符。

$name``${name:default}

可以使用以下变量:

  • TM_SELECTED_TEXT
    当前选中的文本或空字符串
  • TM_CURRENT_LINE
    当前行的内容
  • TM_CURRENT_WORD
    光标下的单词或空字符串的内容
  • TM_LINE_INDEX
    基于零索引的行号
  • TM_LINE_NUMBER
    基于单索引的行号
  • TM_FILENAME
    当前文档的文件名
  • TM_FILENAME_BASE
    没有扩展名的当前文档的文件名

所以,

the parent folder of the current file
是什么?

这是我的代码

"C C++ Header": {
        "scope": "c, cpp",
        "prefix": "h",
        "description": "Add #ifndef, #define and #endif",

        "body": [
            "#ifndef __${RELATIVE_FILEPATH/[\\/]/_/g}_${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H__",
            "#define __${RELATIVE_FILEPATH/(.*)/${1:/upcase}/}_${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H__",
            "",
            "$0",
            "",
            "#endif  //__${RELATIVE_FILEPATH/(.*)/${1:/upcase}/}_${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H__"
        ]
    }  

但是对于将字符大写并将“/”翻译为“_”是无用的

下结果

#ifndef __week03_Game_map.h_MAP_H__
#define __WEEK03/GAME/MAP.H_MAP_H__



#endif  //__WEEK03/GAME/MAP.H_MAP_H__

我要:

#ifndef __GAME_MAP_H__
#define __GAME_MAP_H__



#endif  //___GAME_MAP_H__
syntax vscode-snippets
© www.soinside.com 2019 - 2024. All rights reserved.