当我在缩进线上键入右大括号时,该行及其关闭的整个块的缩进会减少到零。
如何阻止 vscode 在关闭花括号时删除缩进提供的答案是将“自动缩进”设置为“保留”,但我已经尝试了所有“自动缩进”选项,但没有成功。
有人建议安装“PHP Intelliphense”插件,这并没有改变行为。我又卸载了。
从 DEVSENSE 禁用“PHP”“一体式 PHP 支持”扩展没有帮助。
禁用“PHP Docblocker”扩展没有帮助。
禁用“PHP cs fixer”扩展没有帮助。
此时我没有启用 PHP 扩展,仍然有问题。
我在https://github.com/microsoft/vscode/issues/40235读到c#开发人员也有类似的问题,所以我禁用了
C#
扩展,也没有改变行为。
与 PHP 文件中的 HTML 行为类似,但在这种情况下,只有键入结束
>
的行是未缩进的,整个块都不是。被视为 html(例如带有 .html
扩展名)的文件中的 HTML 不受影响,因此这似乎仍然与 PHP 语言功能有关。
由于我尝试了不同的“自动缩进”选项但没有成功,我还能尝试什么?
我在 Fedora Linux 38 上使用 VS Code 1.82.2。
我正在尝试@starball 的建议(谢谢!)
编辑 2:这似乎是
php cs fixer
的 junstyle
扩展。禁用它确实会提示编辑器重新启动,所以我不确定为什么我之前错过了这一点。启用它不会提示重新启动,但会立即带来缩进问题。我安装它是为了获得 PSR-12 格式支持,但在我看来,它在任何地方都没有得到很好的支持。
junstyle.php-cs-fixer
扩展引起的。这很奇怪,因为根据扩展的文档,它只是提供了一个命令......无论如何,现在有跟踪行为的问题票证:
我建议您为这些问题点赞以表示支持。您还可以订阅它们以获取有关讨论和进展的通知。请避免在那里发表嘈杂的评论,比如只包含“+1”/“bump”的评论。
当您遇到不良行为时,弄清楚这些行为是否是扩展造成的通常会很有帮助。为此,请问自己以下问题:当您在禁用扩展的情况下重新加载 VS Code 时(使用命令选项板中的
Developer: Reload With Extensions Disabled
命令),是否会发生这种情况?如果不是,则执行 extension bisect 来找出是什么扩展导致了它。