Jak zmusić Sublime Text do wcięcia dwóch spacji na kartę?
Czy istnieje sposób na zmuszenie Sublime Text 2 do zawsze wcięcia dwóch spacji na kartę podczas pracy z plikami Ruby?
Wiem, że wcięcia można ustawić pod opcją menu view -> indentation
, ale się nie przykleja. Za każdym razem, gdy otwieram nowy plik i klikam kartę, powraca ona z powrotem do czterech spacji.
6 answers
Jeśli chcesz go dla wszystkich plików, przejdź do Preferences -> Settings - Default/User
. Ale jak wskazuje kilka komentarzy poniżej, ustawienia specyficzne dla składni mogą ograniczyć ją tylko do wybranych języków.
Aby ograniczyć tę konfigurację do plików Ruby, najpierw otwórz plik Ruby w edytorze, a następnie przejdź do Preferences -> Settings - Syntax Specific
. To powinno otworzyć okno ustawień o nazwie Ruby.sublime-settings
Zapisz te ustawienia:
{
"tab_size": 2,
"translate_tabs_to_spaces": true,
"detect_indentation": false
}
Powtórz dla innych typów składni, otwierając plik tego typu i wracając do preferencji, aby otworzyć popraw plik preferencji dla tej składni.
edytowałem to, aby uwzględnić linię "detect_indentation" dla żądań w komentarzach; wcześniej używałem domyślnego / użytkownika, aby ustawić mój rozmiar karty, i nie potrzebowałem wykrywania kart, ale czy to ze względu na globalną konfigurację, czy ze względu na fakt, że rzadko otwierałem pliki z kartami, Nie wiem.
Ponowne uruchomienie nie powinno być konieczne, chociaż w niektórych przypadkach może być.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-06 06:24:47
Jeśli chcesz wymusić wybrane ustawienie karty, ignorując to, co prawdopodobnie już się dzieje w pliku, powinieneś umieścić detect_indentation
w swojej konfiguracji (Ustawienia użytkownika lub ustawienia składni, w zależności od tego, czy chcesz to globalne czy per-filetype):
{
"tab_size": 2,
"translate_tabs_to_spaces": true,
"detect_indentation": false
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-05 20:41:12
Możesz to zrobić również za pomocą linku tekstowego na dolnym pasku Sublime Text 2 (po prawej stronie), który domyślnie mówi "Rozmiar Karty 4", Kliknij go, a pojawi się okno z opcjami ustawienia rozmiaru karty od 1 spacji aż do 8 spacji i zawiera opcje konwersji tabulatorów na spacje i spacje na karty.
Wygląda tak:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-26 14:07:03
Czy Mogę zasugerować EditorConfig ? Istnieje rozszerzenie do automatycznego ładowania i zastosowania pliku .editorconfig
. Następnie po prostu utwórz go w katalogu głównym projektu.
.editorconfig
[*.rb]
indent_style = tab
indent_size = 2
W ten sposób Twoje ustawienia są specyficzne dla projektu i specyficzne dla pliku, jeśli używasz różnych stylów dla każdego projektu lub języka.
Oto jak wygląda mój własny.
# 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-28 12:30:04
Używam pakietu Stupid Indent .
Install Package
-> Stupid Indent
Preferences
-> Package Settings
-> Stupid Indent
-> Setting-Users
Skopiuj ustawienia (z Ruby
Części) do.
{
"configuration":
[
{
"patterns": ["*.rb"],
"tab_size": 2,
"translate_tabs_to_spaces": true
}
]
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-27 15:06:39
Podążałem za poprzednimi odpowiedziami, w tym dodałem linię detect_indentation, a moje tabulatory były nadal pięcioma spacjami. Potem zdałem sobie sprawę, że wybranie Preferences -> Settings -> More -> Syntax Specific -> User
z pliku ruby otwierało Ruby on Rails.sublime-settings
dla mnie, a nie Ruby.sublime-settings
.
Zmieniłem nazwę pliku Ruby on Rails.sublime-settings
na Ruby.sublime-settings
. W końcu dwie spacje zadziałały! Poszedłem dalej i umieściłem te same ustawienia w Ruby on Rails.sublime-settings
, tak dla pewności.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-22 22:53:22