我还没想明白呢。Atom似乎使用空格作为默认缩进模式。不过我更喜欢用标签代替。Sublime Text内置了用于切换和转换缩进的功能。

有人知道如何改变Atom的缩进模式吗?

Sublime Text的一些截图:


当前回答

这是内置在核心:参见设置⇒选项卡类型并选择自动:

当设置为"auto"时,编辑器根据缓冲区的内容自动检测制表符类型(它使用非注释行上的第一个前导空白),如果自动检测失败,则使用Soft Tabs配置设置的值。

你可能还想看看Auto Detect Indentation包。从文档中可以看出:

自动检测已打开文件的缩进。它查看每个打开的文件,并根据文件的内容设置文件特定的选项卡设置(硬/软选项卡,选项卡长度),而不是总是使用编辑器的默认值。 您可能已经将atom配置为为制表符使用4个空格,但打开一个默认为2个空格的rails项目。如果没有这个包,您将不得不全局更改制表符设置,否则您的文件中可能会出现不一致的行间距。

其他回答

这里所有最受欢迎的答案都是很好的答案,并且会为制表符打开空格,但它们都缺少一件事。如何将空格而不是制表符应用于现有代码。

要做到这一点,只需选择所有你想要格式化的代码,然后点击编辑->行->自动缩进,它将修复所有选定的内容。

或者,您也可以选择所有想要格式化的代码,然后使用Ctrl Shift P并搜索自动缩进。只需在搜索结果中单击它,它就会修复所选择的一切。

进入“文件->设置”

这里有3个不同的选项。

软标签 标签长度 标签类型

我做了一些测试,得出了这些结论。

软选项卡-启用这个意味着它将默认使用空格(即新文件)。

制表符长度-制表符显示的宽度,或者如果启用软制表符,为一个制表符插入多少空格。

制表符类型——这决定了现有文件使用的缩进模式。如果你将它设置为自动,它将使用现有的缩进(制表符或空格)。如果将其设置为软或硬,它将强制使用空格或制表符,而不考虑现有的缩进。最好把它开在自动模式。

注意:软=空格,硬=制表符

还有一个答案:如果你正在使用Atom Beautify,请注意它有自己的设置来确定“缩进字符”。

如果全局制表符/空格缩进设置不再适合你的需求(例如,你发现自己使用各种缩进格式的遗留代码库,并且你需要在它们之间快速切换,并且自动检测不起作用),你可能会尝试制表符控制插件,它在某种程度上复制了截图中菜单的功能。

将其添加到~/.atom/config.cson中

editor:
    tabLength: 4