我已经按照需要设置了一些代码片段,并且可以正常工作,但是我很难让一个代码片段在我认为需要进行多次转换的地方工作?
基本上,我为我的一个组件定义了TypeScript接口。
即IRadioButtonListProps.ts
文件夹中的Interfaces
。 Interfaces
文件夹有一个名为Theme
的同级文件夹,其中包含一个名为IRadioButtonListTheme.ts
在IRadioButtonListProps
内,我试图将整个接口都保留下来。我当前拥有的代码段存有类似...的界面
import * as React from 'react';
import IRadioButtonListPropsTheme from '../Theme/IRadioButtonListPropsTheme';
export interface IRadioButtonListPropsProps {
...props...
}
export default IRadioButtonListPropsProps;
代码段内的导入行是...
"import I${TM_FILENAME_BASE/(.*)\\..+$/$1/}Props from './Interfaces/I${TM_FILENAME_BASE/(.*)\\..+$/$1/}Props';"
我试图发生的事情并且似乎无法弄清的是如何也删除“道具”一词。因此,我将获得import IRadioButtonListPropsTheme...
而不是import IRadioButtonListTheme...
。
同时,我要删除所有扩展名,包括* .abc.abc(“两个”扩展名)和* .abc(一个简单扩展名)形式的扩展名。
这可能吗?
答案 0 :(得分:1)
不清楚您要做什么,但请尝试:
"import ${TM_FILENAME/((\\w*)Props)*?(\\..*)/$2/}Theme from './Interfaces/${TM_FILENAME/((\\w*)Props)*?(\\..*)/$2/}Theme';"
结果为:
import IRadioButtonListTheme from './Interfaces/IRadioButtonListTheme';
来自IRadioButtonListProps.ts
和
import CheckboxListTheme from './Interfaces/CheckboxListTheme';
来自CheckboxListProps.test.tsx
[编辑]这是一个我认为也可以使用的简单版本:
"import ${TM_FILENAME/(Props)*?(\\..*)//}Theme from './Interfaces/${TM_FILENAME/(Props)*?(\\..*)//}Theme';"