有一种方法强迫Sublime Text 2在处理Ruby文件时总是缩进两个空格?

我知道缩进可以在视图下设置->缩进菜单选项,但它不坚持。每次我打开一个新文件并点击tab,它就会返回到四个空格。


当前回答

我使用愚蠢的缩进包。

安装包->愚蠢缩进

首选项->包设置->愚蠢缩进->设置-用户

复制设置(Ruby部分)到。

{
    "configuration":
    [
        {
            "patterns": ["*.rb"],
            "tab_size": 2,
            "translate_tabs_to_spaces": true
        }
    ]
}

其他回答

你也可以在Sublime text 2的底部栏(右侧)的文本链接中这样做,默认情况下说“Tab Size 4”,点击它,一个窗口就会出现选项,可以设置制表符大小从1个空格一直到8个空格,包括选项转换制表符到空格和空格到制表符。

看起来是这样的:

我使用愚蠢的缩进包。

安装包->愚蠢缩进

首选项->包设置->愚蠢缩进->设置-用户

复制设置(Ruby部分)到。

{
    "configuration":
    [
        {
            "patterns": ["*.rb"],
            "tab_size": 2,
            "translate_tabs_to_spaces": true
        }
    ]
}

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

{
    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false
}

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

editorconfig。

[*.rb]
indent_style = tab
indent_size = 2

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


下面是我自己的.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

我遵循前面的答案,包括添加detect_indentation行,制表符仍然是五个空格。然后我意识到,从ruby文件中选择首选项->设置->更多->语法特定->用户是在打开ruby on Rails。是我的,不是ruby的。

我重新命名了Ruby on Rails。sublime-settings文件转换为Ruby.sublime-settings。两个空格制表符终于起作用了!我在Ruby on Rails中做了同样的设置。当然,还有崇高的设定。