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

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

Sublime Text的一些截图:


当前回答

虽然姗姗姗迟,但在每个项目的基础上,有一种干净的方法可以做到这一点,那就是在项目的根目录中添加一个.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

其他回答

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

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

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

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

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

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

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

你可以尝试进入“Atom > Preferences > Editor”,并设置制表符长度为4。

这是针对mac的。对于windows,你必须找到合适的菜单。

当Atom自动缩进检测出错,拒绝让我输入Tab字符时,我最终找到了“Force-Tab”扩展,它让我重新获得了控制权。 我想保持shift-tab为outdenting,所以设置ctrl-tab插入一个硬标签。在我的键图中,我添加了:

“atom-text-editor”: “参见右图”:“force-tab: insert-actual-tab”

OS X:

进入Atom ->首选项或CMD +, 向下滚动并选择您喜欢的“标签长度”。