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

How to change indentation mode in Atom?

我还没弄清楚这一点。 Atom似乎使用空格作为默认缩进模式。 我更喜欢使用标签。 Sublime Text内置了切换和转换缩进功能。

有谁知道如何更改Atom的缩进模式?

来自Sublime Text的一些截图:

Sublime Text indentation menu open
Sublime text indentation menu


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

要快速切换缩进模式,您可以使用Ctrl-Shift-P并搜索编辑器:切换软选项卡。


转到文件 - >设置

这里有3种不同的选择。

  • 软标签
  • 标签长度
  • 标签类型
  • 我做了一些测试,并得出了关于每个人做什么的这些结论。

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

    选项卡长度 - 如果启用了软选项卡,则选项卡字符显示的宽度或选项卡插入的空格数。

    选项卡类型 - 这确定了用于现有文件的缩进模式。如果将其设置为auto,则将使用现有缩进(制表符或空格)。如果将其设置为软或硬,则无论现有缩进如何,都会强制使用空格或制表符。最好把它留在汽车上。

    注意:Soft = spaces,hard = tab


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

    1
    2
    editor:
        tabLength: 4

    OS X:

  • 转到Atom -> prefrencesCMD + ,

  • 向下滚动并选择您喜欢的"标签长度"。

  • enter image description here


    您可以尝试转到"Atom> Preferences> Editor"并将Tab长度设置为4。

    enter image description here

    这是为mac。对于Windows,您必须找到适当的菜单。


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

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


    在派对之后,但是在每个项目的基础上执行此操作的一种干净方法是将.editorconfig文件添加到项目的根目录。当您同时处理多个项目时,可以避免更改Atom的设置。

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

    http://editorconfig.org/

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 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


    Tab Control以与问题中描述的方式类似的方式提供良好的控制。

    对于JavaScript开发人员来说,使用ESLint配置的ESLint Tab Length也很好。

    或者如果您使用.editorconfig来定义项目特定的缩进规则,则有EditorConfig


    如果您使用的是Babel,您可能还需要确保更新"Language Babel"软件包。对我来说,即使我在核心编辑器设置中将Tab Length设置为2,Language Babel配置中的Same设置也会用4覆盖它。

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

    确保合适的语法,有"Babel ES6 Javascript Grammar","language-babel-extension Grammar"以及"Regular Expression"。您可能希望更新所有这些内容以保持一致。


    我只是遇到了同样的问题,上面的建议都没有奏效。最后,我尝试取消选中"编辑器设置"菜单中的"原子软选项卡",该选项有效。


    这内置于核心:请参阅Settings ? Tab Type并选择auto

    When set to"auto", the editor auto-detects the tab type based on the contents of the buffer (it uses the first leading whitespace on a non-comment line), or uses the value of the Soft Tabs config setting if auto-detection fails.

    您可能还想查看Auto Detect Indentation包。来自文档:

    Automatically detect indentation of opened files. It looks at each opened file and sets file specific tab settings (hard/soft tabs, tab length) based on the content of the file instead of always using the editor defaults.

    You might have atom configured to use 4 spaces for tabs but open a rails project which defaults to 2 spaces. Without this package, you would have to change your tabstop settings globally or risk having inconsistent lead spacing in your files.


    如果您使用的是版本1.21.1:

  • 单击包/设置查看/打开
  • 选择左侧面板上的"编辑器"
  • 直到你看到"标签长度"为止
  • 编辑值。我喜欢把它设置为4。
  • 现在,只需关闭活动选项卡窗格即可完成。


    当Atom自动缩进检测让它无可救药地错误并且拒绝让我输入一个文字Tab字符时,我最终找到了'Force-Tab'扩展 - 这让我重新控制了。
    我想保留shift-tab for outdenting,所以设置ctrl-tab以插入一个硬标签。在我的键盘图中,我添加了:

    'atom-text-editor':
    'ctrl-tab': 'force-tab:insert-actual-tab'


    如果全局制表符/空格缩进设置不再适合您的需求(IE您发现自己使用具有不同缩进格式的旧代码库,并且需要在它们之间快速切换,并且自动检测不起作用)您可以尝试选项卡-control插件,它复制了屏幕截图中菜单的功能。