editor - translate_tabs_to_spaces - 如何強制Sublime Text為每個選項卡縮進兩個空格?




sublime text3 tab to space (4)

如果你想強制你選擇的標籤設置,忽略文件中可能已經發生的事情,那麼你應該在你的配置中包含detect_indentation (你的用戶設置或特定於語法的設置,取決於你想要它是全局還是每個文件類型) :

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

是否有辦法強制Sublime Text 2在使用Ruby文件時總是縮進每個選項卡兩個空格?

我知道可以在view -> indentation菜單選項下設置view -> indentation ,但不會粘住。 每次我打開一個新文件並點擊標籤時,它都會回復到四個空格。


如果您想要所有文件,請轉至Preferences -> Settings - Default/User 。 但是,正如下面的幾條評論所表明的,特定於語法的設置可以將其限制為您選擇的語言。

要將此配置限制為Ruby文件,請先在編輯器中打開一個Ruby文件,然後進入Preferences -> Settings -> More -> Syntax Specific -> User 。 這應該打開一個名為Ruby.sublime-settings的設置窗口

保存這些設置:

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

對任何其他語法類型重複該操作,方法是打開該類型的文件並返回到首選項以打開該語法的正確首選項文件。

我編輯過這個文件,在註釋中包含每個請求的“detect_indentation”行; 我以前使用默認/用戶來設置我的標籤大小,並且不需要標籤檢測,但是不管是由於全局配置還是由於我很少用標籤打開文件,我不知道。

重新啟動應該不是必需的,儘管在某些情況下可以。


我使用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
        }
    ]
}

我可以建議EditorConfig嗎? 有一個自動加載並應用.editorconfig文件的extension 。 然後在你的項目的根目錄下創建一個。

.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