一个问题
如果您复制了一个使用两个空格缩进的代码示例,并且想要将其转换为四个空格缩进,那么*最快*和最简单的选项是什么?
Matt Stauffer,Twitter
几年前我写过一篇关于如何在Sublime Text中执行此操作的文章。我认为在VS Code中差别不大。
但这里还有另一种方法:使用CodePen。
步骤 1:复制并粘贴到 CodePen
假设您在其他地方找到了一些代码,只需复制并粘贴到其中即可

步骤 2:调整代码缩进设置
如果您已经有 CodePen 帐户,那么您可能已经设置好了,因此默认设置就是您喜欢的设置。但如果不是,请在“Pen 设置”区域中进行调整

步骤 3:格式化代码
您可以在此处手动执行此操作

如果您保存了 Pen 并启用了“保存时格式化”选项,则可能根本不需要使用该选项,因为它会自动发生。

它会很快切换到新的 4 个空格的首选项
CodePen 在后台使用 Prettier 来执行此操作。因此,您可以在任何可以访问 Prettier 工作版本的地方执行此操作,但在 CodePen 上可能更容易,因为无需编辑配置或任何内容来调整您想要的方式。Prettier 也有 自己的游乐场,这可能与 CodePen 一样简单,除了在 CodePen 上您可能已经设置了您的首选项,从而节省了一个步骤。
更好的终极方法是使用 eslint 并创建一个规则,以便无论您可能编写/复制粘贴哪种格式或缩进,它都将在保存时根据您的需要进行调整。
取决于您的配置。您可以拥有一个非常严格的 eslint 规则集来为您执行此操作,但我更喜欢使用 prettier 进行格式化,并将 eslint 用于代码质量检查。
如果您的 IDE 没有自动执行此操作,这很奇怪,不是吗?
我也这么认为。尽管有时在复制/移动我自己的代码时,整个块要么缩进了太多制表符/空格,要么不够。然后按 Ctrl+Alt+F(或您的“格式化全部”快捷键),问题就解决了。然后是设置中的“保存时格式化”选项。
我真的很感谢 VS Code。
PS:不要期望在字符串(可能是 HereDoc)内格式化代码。格式化程序无法知道那里是故意使用制表符还是空格。
而且……开始了臭名昭著的制表符与空格之争,在这个问题中,只有当人们使用空格缩进时,它才会成为问题。