Как применить регулярное выражение к пользовательскому вводу во фрагментах vscode - PullRequest
0 голосов
/ 02 февраля 2020

Я использую реагирующие крючки. Я использовал глобальный контекст с редуктором. Вместо записи каждого case функции редуктора внутри функции. Я хочу отделить в файлах. Пример моего файла ниже

export type SetDrawingDataAction = {"set-drawing-data": Data};
export function setDrawingData(state : IGlobalState, data: number) : IGlobalState{

}

В приведенном выше файле вы можете использовать имя SetDrawingData в трех местах, но в разных форматах.

В настоящее время мой фрагмент выглядит так, как показано ниже, но в нем нет прописной буквы setDrawingDataAction.

"Generate Action file": {
  "prefix": "actd",
  "body": [
     "export type ${1/(.*)/${1:/capitalize}/} = {\"\": Data}",
     "export function $1(state : IGlobalState, data: Data) : IGlobalState {",
     "  $2",
     "}"
  ],
  "description": "Generate action file witn data"
} 

Пожалуйста, ответьте, как я могу изменить форматы, используя только один ввод. Во-первых, нужно использовать заглавные буквы, а во-вторых, изменить camelCase на camel-case

.

1 Ответ

1 голос
/ 02 февраля 2020

Предполагая, что вы вводите setDrawingData попробуйте этот фрагмент:

"Generate Action file": {
  "prefix": "actd",
  "body": [
     "export type ${1/(.*)/${1:/capitalize}/}Action = {\"${1/(.*)([A-Z][^[A-Z]*)([A-Z][^[A-Z]*)/$1-${2:/downcase}-${3:/downcase}/}\": Data}",
     "export function $1(state : IGlobalState, data: Data) : IGlobalState {",
     "  $2",
     "}"
  ],
  "description": "Generate action file witn data"
}

Вот вывод этого фрагмента:

export type SetDrawingDataAction = {"set-drawing-data": Data}
export function setDrawingData(state : IGlobalState, data: Data) : IGlobalState {

}

snippet demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...