我遇到类似that
的问题但上面链接中的回答没有帮助我。我习惯于在编码时重新整理整个文件,我非常喜欢Sublime Text。但这个错误让我很生气。所以我需要使用快捷方式重新整理整个PHP文件,并且不要错误缩进。
这就是我需要的:
这就是它的作用:
答案 0 :(得分:1)
作为@BullfrogBlues mentions in a comment,Sublime PHP语法插件有一个解决方案。我不想要整个包,但幸运的是,很容易从那里提取出数组缩进规则:
只需将该文件保存到所有自定义代码段所在的同一目录中(在Mac上~/Library/Application Support/Sublime Text 3/Packages/User
,不确定Windows / Linux)并且瞧!
答案 1 :(得分:0)
以下解决方案取自SublimeText Forum。
将此添加到您的键绑定中:
{ "keys": ["enter"], "command": "insert_snippet", "args": { "contents": "\n\t$0\n" }, "context":
[
{ "key": "setting.auto_indent", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "selector", "operator": "equal", "operand": "punctuation.section.array.end.php", "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "array\\($", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true },
]
},
答案 2 :(得分:-1)
我正在使用Sublime Text 3,可以使用该页面上的说明解决此问题。我在这里复制相同的说明以供参考,我会尝试提供一些提示,以找出它不适合你的原因。
首先,我在我的键绑定设置中添加了这些行(首选项 - >键绑定 - 用户):
{ "keys": ["enter"], "command": "run_macro_file", "args": {"file": "Packages/User/Add Line in Braces.sublime-macro"}, "context":
[
{ "key": "setting.auto_indent", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "\\($", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true }
]
}
此处必须注意此设置文件是JSON-Array,上面的代码必须用括号括起来:
[
// Copy above configuration here
]
如果您的设置文件中已有一些键绑定,则必须用逗号分隔它们:
[
{
// Some existing keybindings
},
// Copy above configuration here
]
然后,您应该在Sublime Text 3的用户文件夹中创建一个宏文件。在哪里找到此文件夹取决于您使用的操作系统。例如,在Ubuntu上它是:
〜/的.config /升华文本-3 /包/用户
在此文件夹中创建一个新文件,并将其命名(注意案例和空格):
在Braces.sublime-macro中添加行
在此文件中,复制以下脚本并保存:
[
{"command": "insert", "args": {"characters": "\n\n"} },
{"command": "left_delete", "args": null},
{"command": "move", "args": {"by": "lines", "forward": false} },
{"command": "move_to", "args": {"to": "hardeol", "extend": false} },
{"command": "reindent", "args": {"single_line": true} }
]
这必须有效,对我有用。