Ruby的Sublime文本注释缩进问题

时间:2013-04-25 11:20:13

标签: ruby sublimetext2 auto-indent

我使用SublimeText几个月后使用ruby,我有一个注释自动缩进的问题。缩进使用注释的缩进,并使用此缩进缩进所有以下代码。我希望自动缩进忽略(至少)或设置前一代码的缩进(充其量),但根本不要删除评论的缩进:

使用此编辑器的所有同事都有同样的问题 这是SublimeText重新缩进的示例代码

class Test
  def method1
  end

    #Bad indentation
    def method2
      somecode
    end

    def method3
      somecode
    end

  end

通缉:

class Test
  def method1
  end

  #Bad indentation
  def method2
    somecode
  end

  def method3
    somecode
  end

end

我做了一个quickfix 〜/ .config / sublime-text-2 / Packages / Default / Indentation Rules - Comments.tmPreferences

更换

<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
    <key>preserveIndent</key>
    <true/>
</dict>

使用

<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
    <key>preserveIndent</key>
    <false/>
</dict>

但它会影响默认行为,我更喜欢只影响Ruby的行为。 有没有人有更好的解决方案?

4 个答案:

答案 0 :(得分:1)

我把它放在我的用户设置文件中:

偏好设置 - &gt;设置 - 用户:

{
"color_scheme": "Packages/Theme - Refined/Color Schemes/Danro.tmTheme",
"ensure_newline_at_eof_on_save": true,
"font_size": 18.0,
"hot_exit": false,
"ignored_packages":
[
    "Vintage"
],
"remember_open_files": false,
"save_on_focus_lost": true,
"tab_size": 2,
"translate_tabs_to_spaces": true

}

我尝试重新创建您的问题,但我无法强制执行这些设置。

答案 1 :(得分:1)

对于缩进,以下是关键设置

"tab_size": 2,
"translate_tabs_to_spaces": true 

这对我有用

{
"caret_style": "solid",
"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
"enable_tab_scrolling": false,
"folder_exclude_patterns":
[
    ".git",
    ".hg",
    ".sass-cache",
    "log",
    "tmp",
    "script",
    "vendor",

],
"font_size": 10,
"highlight_line": true,
"highlight_modified_tabs": true,
"ignored_packages":
[
    "Vintage"
],
"rulers":
[
    100
],
"scroll_past_end": false,
"tab_size": 2,
"translate_tabs_to_spaces": true
}

答案 2 :(得分:0)

我建议你使用BeautifyRuby ST2包。您还需要安装htmlbeautifier gem。不仅您的评论,而且您的代码将缩进很好。

如果使用rvm,则可能需要更改BeautifyRuby.sublime-settings以使用rvm安装的ruby,而不是系统安装的ruby。要找出您正在使用的ruby的路径,请在shell提示符下键入which ruby。将此路径粘贴为名为"ruby"的键的值,例如:

"ruby": "/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby"

答案 3 :(得分:0)

对于ST3, 偏好 - &gt;设置 - 用户

添加以下代码:   {     “tab_size”:2   }

默认情况下,SublimeText使用长度为4个字符的硬标签。