我们更改了分号规则的行为,以允许在绑定类成员函数之后省略尾随分号:
class Foo {
public renderFoo = () => {
return null;
}
^ right here
}
我建议我们实际上在 TSLint 4.0 的那个位置 _ban_ 分号。 我们可以通过新选项allow-bound-class-methods
来支持旧功能。
我不相信这是 4.0 的需要,但也不会伤害到它。 不过,这似乎确实是一分钟的选择,但我并不完全相信增加复杂性是值得的
作为一个反馈项目(不确定这是否是正确的地点?),我们只是偶然发现了这一点,对此感到非常惊讶。
我可能不太理解这背后的基本原理,但特别是 tslint 将分号标记为在这个位置是不必要的(即不只是接受将它们排除在外)似乎令人困惑。
您可以使用ignore-bound-class-methods
选项恢复旧行为。 我们希望对默认配置更加固执己见,并使绑定的类方法看起来像大多数 TS 代码中的常规类方法。
是的,我想了很多。 我本来预计tslint
开箱即用需要分号,在一致性方面犯了更多错误,或者忽略了这个问题,但是重新添加该选项对我们有用。
我试图让它停止在 intellij 中抛出错误
我尝试删除类箭头函数后面的分号,然后我收到此警告:
我尝试启用这样的选项:
但我得到了这个结果:
我尝试启用这样的选项:
但随后它停止检查分号。
tslint 版本:4.4.2
ts 版本:2.1.5
智能版本:2016.3
操作系统:Windows 10 x64
对于来到这个线程寻找正确 tslint 配置的人(就像我所做的那样) - 正确的语法是:
"分号": [true, "always", "ignore-bound-class-methods"]
见: https ://palantir.github.io/tslint/rules/semicolon/
@popstr是的,这也是我正在使用的。
"semicolon": [true, "always", "ignore-bound-class-methods"]
我创建了#3216,因为在一致性方面忽略是一个坏主意,而且我发现没有ignore-bound-class-methods
选项的规则仍然有问题。
最有用的评论
对于来到这个线程寻找正确 tslint 配置的人(就像我所做的那样) - 正确的语法是:
"分号": [true, "always", "ignore-bound-class-methods"]
见: https ://palantir.github.io/tslint/rules/semicolon/