Tslint: 支持 else/catch 下一行

创建于 2013-08-15  ·  11评论  ·  资料来源: palantir/tslint

应该可以强制执行像 else/catch 语句这样的尾随块头的位置:

目前这是预期的:

if (myVar) {
    //...
} else {
    //...
}

否则,您会收到“其他位置错位”警告。

但是我们希望尾随块碰到这样的一行:

if (myVar) {
    //...
}
else {
    //...
}

或尝试/捕获

try {
    //..
}
catch (e) {
    //..
}
finally {
    //..
}

所有其他类似的结构。

我们发现它更容易阅读,因为关键字在左边距很紧,并且右大括号的位置强制使用几乎空白的行,就像在起始块中一样。

Formatting rule Enhancement

最有用的评论

让我澄清一下:

我想要一个规则来检查大括号是否在下一行,如果它们在同一行,它会抱怨。

据我所知,没有办法强制执行此操作。

所有11条评论

我可以使用oneline规则切换它。

我认为它应该被拆分为它自己的规则:它与 oneline 的“左大括号与它前面的表达式在同一行”不同。

当然,有道理。

将所有检查设为可选,由 5cd203aa3c4b2de96c8a33d8107e9a8444aa4348 修复

如果下一行大括号也是一个规则,那就太好了。 通过忽略“oneline”规则来解决它并不理想。

你能给我们举个例子说明你的意思吗,@eirikhm? 如果您希望大括号在下一行,为什么要启用单行规则?

让我澄清一下:

我想要一个规则来检查大括号是否在下一行,如果它们在同一行,它会抱怨。

据我所知,没有办法强制执行此操作。

有什么方法可以强制执行check-else的相反操作吗? 我想强制执行以下样式:

if (expr) {
    // code
}
else {
    // code
}

并限制以下样式:

if (expr) {
    // code
} else {
    // code
}

编辑 - 这可以通过tslint-eslint-rules来完成

同意,为什么不将反向强制块添加到他们自己的行中?

有什么方法可以强制执行check-else的相反操作吗? 我想强制执行以下样式:

if (expr) {
    // code
}
else {
    // code
}

并限制以下样式:

if (expr) {
    // code
} else {
    // code
}

这是一个非常常见的要求 - 我刚刚发现 tslint 不支持它,我有点惊讶......我认为这正是 tslint 的用途?

@sam-s4s 见 #4534

哇,这几乎有点悲伤:(大声笑

此页面是否有帮助?
0 / 5 - 0 等级