某些位置的片段变量转换
Snippet variable transform in some locations
例如:
export const setVisibilityFilter = (filter) => ({
type: 'SET_VISIBILITY_FILTER',
filter
})
函数名setVisibilityFilter
采用驼峰式命名。书面形式相同,下划线分隔的大写字符:SET_VISIBILITY_FILTER
我想用它做一个片段。我希望在 snippet 变量中输入任何文本后,第二个地方是从该文本创建下划线分隔的大写字符。
这样我就不用写第二遍了,只写大字...
是否可以在代码片段中实现以及如何实现?
您可能正在寻找这样的东西:
"Redux_Action_Creator": {
"prefix": "act",
"body": [
"export const ${TM_SELECTED_TEXT} = () => ({",
"\ttype: '${TM_SELECTED_TEXT/(^[a-z$]+).*/${1:/upcase}/g}${TM_SELECTED_TEXT/[a-z$]*([A-Z0-9][a-z$]+)/_${1:/upcase}/g}'",
"\t[=10=]",
"});",
""
],
"description": "[Surrounding] Export action creator returning plain action"
}
必须通过 'insert snippet' 命令调用此代码段,并选择动作创建者名称(示例用法:http://recordit.co/o8u3lvPsIe)。
注意:使用 TM_SELECTED_TEXT 是必要的,因为 VSCode 目前不支持转换代码段占位符(请参阅功能请求:https://github.com/Microsoft/vscode/issues/34683)
vscode 1.25 确实在代码段制表位上添加了转换,因此无需预选。这个版本可以使用任意数量的驼峰式单词,例如“camelCase
”、“camelCaseCaseCase
”等
"test3": {
"prefix": "seps",
"body": [
"export const = (filter) => ({",
"type: '${1/([a-z]*)(([A-Z])+([a-z]+))?/${1:/upcase}${2:+_}${4:/upcase}/g}',",
"filter",
"})"
],
"description": "underscore separators"
}
看我类似的回答
例如:
export const setVisibilityFilter = (filter) => ({
type: 'SET_VISIBILITY_FILTER',
filter
})
函数名setVisibilityFilter
采用驼峰式命名。书面形式相同,下划线分隔的大写字符:SET_VISIBILITY_FILTER
我想用它做一个片段。我希望在 snippet 变量中输入任何文本后,第二个地方是从该文本创建下划线分隔的大写字符。
这样我就不用写第二遍了,只写大字...
是否可以在代码片段中实现以及如何实现?
您可能正在寻找这样的东西:
"Redux_Action_Creator": {
"prefix": "act",
"body": [
"export const ${TM_SELECTED_TEXT} = () => ({",
"\ttype: '${TM_SELECTED_TEXT/(^[a-z$]+).*/${1:/upcase}/g}${TM_SELECTED_TEXT/[a-z$]*([A-Z0-9][a-z$]+)/_${1:/upcase}/g}'",
"\t[=10=]",
"});",
""
],
"description": "[Surrounding] Export action creator returning plain action"
}
必须通过 'insert snippet' 命令调用此代码段,并选择动作创建者名称(示例用法:http://recordit.co/o8u3lvPsIe)。
注意:使用 TM_SELECTED_TEXT 是必要的,因为 VSCode 目前不支持转换代码段占位符(请参阅功能请求:https://github.com/Microsoft/vscode/issues/34683)
vscode 1.25 确实在代码段制表位上添加了转换,因此无需预选。这个版本可以使用任意数量的驼峰式单词,例如“camelCase
”、“camelCaseCaseCase
”等
"test3": {
"prefix": "seps",
"body": [
"export const = (filter) => ({",
"type: '${1/([a-z]*)(([A-Z])+([a-z]+))?/${1:/upcase}${2:+_}${4:/upcase}/g}',",
"filter",
"})"
],
"description": "underscore separators"
}
看我类似的回答