我在使用Sublime Text 3的自动注册(和reindent)时遇到了一些麻烦 . 它似乎没有正确处理多行语句 . 请考虑以下代码:
class Foo {
function bar() {
if (VeryLongThingThatTakesUpALotOfRoom ||
OtherQuiteLongThingSoINeedTwoLines) {
statement1();
statement2();
}
}
function baz() {
whatever;
}
}
从命令选项板运行 reindent 会导致
class Foo {
function bar() {
if (VeryLongThingThatTakesUpALotOfRoom ||
OtherQuiteLongThingSoINeedTwoLines) {
statement1();
statement2();
}
}
function baz() {
whatever();
}
}
这不正确的缩进不仅会导致文件其余部分的缩进,因为它会错误地缩进缩进级别 .
以下代码不那么灾难性(但仍然令人讨厌):
function foo() {
return $thing->other_thing->really_quite_long_thing
->so_we_need_a_new_line_here();
}
reindent s到:
function foo() {
return $thing->other_thing->really_quite_long_thing
->so_we_need_a_new_line_here();
}
如何构造长(多行)语句,使Sublime Text 3可以正确地缩进它们?