Я пытаюсь создать SNIPPET VSCODE CODE для PHP, который автоматически помещает пространство имен (на основе пути к папке).
Идея состоит в том, чтобы сделать замену в каталоге текущего документа, учитывая, что весь мой класс находится внутри папки MVC
, а он находится внутри папки src
, примеры:
- / dev / project / src / MVC / Models / Access / Auth или
- / home / user / dev / project / src / MVC / Models / Access / Auth или
- / any_other_folder / src / MVC / Models / Access / Auth
Я получил полное имя папки с помощью фрагмента кода VSCODE variabe $TM_DIRECTORY
.
Aparently не имеет ошибок на REGEX, как вы можете видеть на: https://regex101.com/r/P8CpkX/1
Моя попытка обрезанного кода:
"namep": {
"prefix": [
"namep"
],
"body": [
"",
"// TM_DIRECTORY: $TM_DIRECTORY",
"namespace ${TM_DIRECTORY/.*src\/(([^\/]*)(\/)?)|(\/)([^\/]*)/$2\\$5/g};"
],
"scope": "php",
"description": "Try to put namespace automatically"
}
Это приводит к:
// TM_DIRECTORY: /home/user/dev/project/src/MVC/Models/Access/Auth
namespace ${TM_DIRECTORY/.*src/(([^/]*)(/)?)|(/)([^/]*)/$5/g};
Но ожидается (как показано на REGEX):
// TM_DIRECTORY: /home/user/dev/project/src/MVC/Models/Access/Auth
namespace \MVC\Models\Access\Auth;
Может кто поможет исправить?
Большое спасибо!!!