如何在Atom中更改缩进模式?

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

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

Sublime Text的一些截图:

Sublime Text缩进菜单打开 Sublime text indentation menu

.
179241 次浏览

参见>编辑器设置下的软标签标签长度

要快速切换缩进模式,可以使用Ctrl-Shift-P并搜索编辑:切换软标签

在这里添加@Manbroski答案对我来说是有效的:

试试Ctrl-Shift-P Editor: Toggle Soft Tabs

将此添加到~/.atom/config.cson

editor:
tabLength: 4

进入“文件->设置”

这里有3个不同的选项。

  1. 软标签
  2. 标签长度
  3. 标签类型

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

软标签 -启用此选项意味着它将默认使用空格(即对于新文件)。

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

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

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

OS X:

  1. 转到Atom -> prefrencesCMD + ,

  2. 向下滚动并选择"Tab Length"

enter image description here

这是内置在核心中的:参见Settings ⇒ Tab Type并选择auto:

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

你可能还想看看自动检测压痕包。从文档中可以看出:

自动检测已打开文件的缩进。它查看每个打开的文件,并根据文件的内容设置文件特定的选项卡设置(硬/软选项卡,选项卡长度),而不是总是使用编辑器的默认值。

您可能已经将atom配置为为制表符使用4个空格,但打开一个默认为2个空格的rails项目。如果没有这个包,您将不得不全局更改制表符设置,否则您的文件中可能会出现不一致的行间距。

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

迟来的派对,但一个干净的方法来做到每个项目的基础上,是添加一个.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
当Atom自动缩进检测出错并拒绝让我输入文字制表符时,我最终找到了“Force-Tab”扩展 -这让我重新获得了控制权。 我想保持shift-tab为outdenting,所以设置ctrl-tab插入一个硬标签。在我的键图中,我添加了:

< p > <代码>“atom-text-editor”: “参见右图”:“force-tab: insert-actual-tab”< /代码> < / p >

我只是遇到了同样的问题,上面的建议都没用。最后,我试着取消勾选编辑器设置菜单中的“原子软选项卡”,这是可行的。

如果您使用的是1.21.1版本:

  1. 单击Packages / Settings View / Open
  2. 选择左侧面板上的“编辑器”
  3. 向下滚动,直到看到“Tab Length”
  4. 编辑该值。我喜欢把它设为4。

现在,只需关闭活动选项卡窗格,就完成了。

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

Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length

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

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

enter image description here

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

选项卡控件以类似于你的问题中描述的方式提供了很好的控制。

对于JavaScript开发者来说,使用ESLint配置的ESLint标签长度也很不错。

或者如果你使用.editorconfig来定义特定于项目的缩进规则,则存在EditorConfig

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

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

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

更改特定于语言的配置

我更改了默认选项卡设置,但在编辑Python文件时仍然没有影响。当我修改~/.atom/config中的“*”设置时,它也没有改变。cson。对于这两种情况,我都没有很好的解释。

然而,当我添加以下到我的配置。在我的Python文件中,我能够将制表符更改为2个空格:

'.source.python':
editor:
tabLength: 2

感谢这个资源的解决方案:标签键不考虑标签长度

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

截图