如何强制Sublime Text每个标签缩进两个空格?

Moh*_*mad 485 editor indentation sublimetext sublimetext2

有没有办法强制Sublime Text 2在使用Ruby文件时始终每个标签缩进两个空格?

我知道缩进可以在view -> indentation菜单选项下设置,但它不会粘.每次我打开一个新文件并点击标签时,它都会恢复为四个空格.

DGM*_*DGM 876

如果您想要所有文件,请转到Preferences -> Settings - Default/User.但正如下面的几条评论所示,语法特定设置可以将其限制为您选择的语言.

要将此配置限制为Ruby文件,首先在编辑器中打开一个Ruby文件,然后转到Preferences -> Settings - Syntax Specific.这应该打开一个名为的设置窗口Ruby.sublime-settings

保存这些设置:

{
  "tab_size": 2,
  "translate_tabs_to_spaces": true,
  "detect_indentation": false
}
Run Code Online (Sandbox Code Playgroud)

通过打开该类型的文件并返回首选项以打开该语法的正确首选项文件,对任何其他语法类型重复此操作.

我编辑了这个,以便根据评论中的请求包含"detect_indentation"行; 我之前使用默认/用户来设置我的选项卡大小,并且不需要选项卡检测,但是这是由于全局配置还是由于我很少打开带有选项卡的文件,我不知道.

不应该重新启动,尽管在某些情况下它可以.

  • @KevinJalbert(和DGM)实际上他应该把它放在语法特定的设置中,所以它只会影响Ruby文件. (20认同)
  • 从build 2181开始.您可以从Preferences - > Settings - Default/User配置设置.最好将其放在用户设置中,因为这是预期的方法. (11认同)
  • 请注意,值为**true**和*not*"true". (6认同)

Jam*_*ier 164

如果您想强制选择的选项卡设置,忽略文件中可能发生的事情,那么您应该detect_indentation在配置中包括(您的用户设置或语法特定设置,具体取决于您是希望全局还是每个文件类型):

{
    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!!`"detect_indentation":false`是*critical*否则忽略其他设置.最后! (6认同)
  • 请注意,Sublime Text更新等将覆盖对默认设置的更改.用户设置的更改不会被覆盖. (3认同)

小智 85

您也可以使用Sublime Text 2(右侧)底栏中默认显示"Tab Size 4"的文本链接,单击该文本链接,然后在窗口中显示从1个空格设置选项卡大小的选项一直到8个空格,包括将标签转换为空格和空格到标签的选项.

看起来像这样:

Sublime Text 2中的选项卡选项

  • 这**不起作用**.这是一个很好的提示,但它并不粘:关闭并重新打开文件(或打开另一个文件)会将缩进恢复为四个空格. (5认同)
  • 很棒的提示,但是你知道这会变成一个粘性设置吗?例如,更改顶部菜单栏中的缩进仅适用于当前打开的文件,而不适用于其他,这是我原来的问题. (3认同)

Nat*_*ate 28

我可以推荐EditorConfig吗?自动加载有一个扩展并应用该.editorconfig文件.然后只需在项目的根目录中创建一个.

.editorconfig

[*.rb]
indent_style = tab
indent_size = 2
Run Code Online (Sandbox Code Playgroud)

这样,如果为每个项目或语言使用不同的样式,则您的设置是特定于项目和特定于文件的.


这是我自己的.editorconfig样子.

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
Run Code Online (Sandbox Code Playgroud)

  • 我不想让这成为一个全球变化.所以这是唯一有效的解决方案.我对EditorConfig进行了一些研究,对于支持它的IDE看起来非常好. (2认同)

Rah*_*ahn 8

我使用Stupid Indent包.

Install Package - > Stupid Indent

Preferences- > Package Settings- > Stupid Indent- >Setting-Users

将设置(Ruby部分)复制到.

{
    "configuration":
    [
        {
            "patterns": ["*.rb"],
            "tab_size": 2,
            "translate_tabs_to_spaces": true
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)