我如何 select TM_DIRECTORY 变量的一部分?
How can I select a part of TM_DIRECTORY variable?
我想 select VScode 代码段上 TM_DIRECTORY 变量的一部分。我的意思是我想要 select Tests\Setup
代码片段文件中的 d:\Projects\Hakhsin\hakhsin\tests\Setup
。看看这个:
// On snippet file
"PHP Class": {
"scope": "",
"prefix": ["phpClass"],
"body": [
"<?php\n\nnamespace ${TM_DIRECTORY/(?<=(?:[\w:\]hakhsin\)).+(?=\)//};\n\nclass ${TM_FILENAME_BASE} {\n\t\n}"
],
"description": "New PHP Class"
},
我想得到这个结果:
namespace Tests\Setup;
class StorageFactory {
}
但我得到了这个结果:
<?php
namespace d:\Projects\Hakhsin\hakhsin\tests\Setup;
class StorageFactory {
}
我解决了,但不是动态的。
namespace ${TM_DIRECTORY/(.*hakhsin\\)(.*)/${2:/capitalize}/};
有没有更好的方法?像这样:
namespace ${TM_DIRECTORY/(.*${WORKSPACE_NAME}\\)(.*)/${2:/capitalize}/};
这是结果:
<?php
namespace Tests\Setup;
class StorageFactory {
}
您似乎无法在片段转换中使用其他变量内部的变量。
您可以试试这个比您的代码更 "dynamic" 但不完美的代码:
"${TM_DIRECTORY/([^\\]*\\){4}(.*)/${2:/capitalize}/}",
里面的{4}
是如果你在目录结构中你想要的部分之前有4个段,比如d:\Projects\Hakhsin\hakhsin\tests\Setup
段是d:\
,Projects\
, Hakhsin\
和 hakhsin\
。如果该段数已知且稳定,则比我显示的代码段效果更好。
我怀疑这些段的数量在一个项目中会有所不同,但在项目之间可能会很好 - 如果是这样,您只需更改每个项目的 {x}
项。
我想 select VScode 代码段上 TM_DIRECTORY 变量的一部分。我的意思是我想要 select Tests\Setup
代码片段文件中的 d:\Projects\Hakhsin\hakhsin\tests\Setup
。看看这个:
// On snippet file
"PHP Class": {
"scope": "",
"prefix": ["phpClass"],
"body": [
"<?php\n\nnamespace ${TM_DIRECTORY/(?<=(?:[\w:\]hakhsin\)).+(?=\)//};\n\nclass ${TM_FILENAME_BASE} {\n\t\n}"
],
"description": "New PHP Class"
},
我想得到这个结果:
namespace Tests\Setup;
class StorageFactory {
}
但我得到了这个结果:
<?php
namespace d:\Projects\Hakhsin\hakhsin\tests\Setup;
class StorageFactory {
}
我解决了,但不是动态的。
namespace ${TM_DIRECTORY/(.*hakhsin\\)(.*)/${2:/capitalize}/};
有没有更好的方法?像这样:
namespace ${TM_DIRECTORY/(.*${WORKSPACE_NAME}\\)(.*)/${2:/capitalize}/};
这是结果:
<?php
namespace Tests\Setup;
class StorageFactory {
}
您似乎无法在片段转换中使用其他变量内部的变量。
您可以试试这个比您的代码更 "dynamic" 但不完美的代码:
"${TM_DIRECTORY/([^\\]*\\){4}(.*)/${2:/capitalize}/}",
里面的{4}
是如果你在目录结构中你想要的部分之前有4个段,比如d:\Projects\Hakhsin\hakhsin\tests\Setup
段是d:\
,Projects\
, Hakhsin\
和 hakhsin\
。如果该段数已知且稳定,则比我显示的代码段效果更好。
我怀疑这些段的数量在一个项目中会有所不同,但在项目之间可能会很好 - 如果是这样,您只需更改每个项目的 {x}
项。