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

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

Sublime Text的一些截图:


当前回答

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

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

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

其他回答

在这里添加对我有用的@Manbroski回答:

尝试Ctrl-Shift-P编辑器:切换软标签

如果你正在使用Babel,你可能还想确保更新你的“语言Babel”包。对我来说,即使我在我的核心编辑器设置中将Tab长度设置为2,但在Language Babel配置中相同的设置将其改写为4。

原子->首选项->包->(搜索巴别塔)->语法->标签长度

确保合适的语法,有“Babel ES6 Javascript语法”,“language-babel-extension语法”以及“正则表达式”。您可能想要更新所有它们以保持一致。

进入“文件->设置”

这里有3个不同的选项。

软标签 标签长度 标签类型

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

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

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

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

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

请参见“设置>编辑器设置”下的软选项卡和选项卡长度。

要快速切换缩进模式,您可以使用Ctrl-Shift-P并搜索Editor: toggle Soft Tabs。

虽然姗姗姗迟,但在每个项目的基础上,有一种干净的方法可以做到这一点,那就是在项目的根目录中添加一个.editorconfig文件。当您同时处理多个项目时,不必更改Atom的设置。

这是我目前正在使用的一个非常基本的设置示例。适用于Atom, ST等…

http://editorconfig.org/

# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true

# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2

# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2