问题
在 首选项 -> 编辑器 -> 文件和代码模板 我有一个 React 模板:
import React from 'react';
class ${NAME} extends React.Component {
render() {
return (
<div>
#[[$END$]]#
</div>
);
}
}
export default ${NAME};
有没有办法将
${NAME}
大写?
我们有一个以小写字母开头的命名文件的约定,但在 React 中组件应该大写。
其他信息
我知道 IntelliJ 具有重构能力,并且您可以使用 Live Templates 来完成此任务,但我想删除这个额外的步骤:)。
这在实时模板中是可能的,您可以在其中定义和引用像
capitalize(fileNameWithoutExtension())
这样的表达式,但我找不到在文件和代码模板中定义表达式的任何地方。
所以在做了一些研究之后我想出了这个:
import React from 'react';
#set($capitalizedFilename = $NAME.substring(0,1).toUpperCase() + $NAME.substring(1))
class $capitalizedFilename extends React.Component {
render() {
return (
<div>
#[[$END$]]#
</div>
);
}
}
export default $capitalizedFilename;
以下是WebStorm文件模板的所有案例:
#set($NAME_CAP = $NAME.substring(0,1).toUpperCase() + $NAME.substring(1))
#set($NAME_LOW = $NAME.substring(0,1).toLowerCase() + $NAME.substring(1))
#set($NAME_UPPER = $NAME.toUpperCase())
Velocity 的 StringUtils 也可用:
#set($NAME_CAPITALIZED = ${StringUtils.capitalizeFirstLetter($NAME)})
import React from 'react';
class ${NAME_CAPITALIZED} extends React.Component {
// ...
}