Odpowiedzi:
Oto fajna sztuczka w Sublime Text 2 lub 3, aby przekonwertować odstępy między wcięciami w dokumencie.
TL; DR:
Przekształcanie z 2 spacji na 4 spacje:
Upewnij się, że szerokość tabulacji jest ustawiona na 2. Przekształć wcięcie 2 spacji w tabulatory, przełącz na szerokość tabulatora 4, a następnie przekonwertuj wcięcie z powrotem na spacje.
Szczegółowy opis:
Iść do:
View -> Indentation
Powinien brzmieć:
Indent using spaces [x]
Tab width: 2
Wybierz:
Convert Indentation to Tabs
Następnie wybierz:
Tab width: 4
Convert Indentation to Spaces
Gotowe.
Odkryłem, że lepiej jest, aby moje zdrowie psychiczne miało zdefiniowane preferencje użytkownika:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
Jest detect_indentation: false
to szczególnie ważne, ponieważ zmusza Sublime do honorowania tych ustawień w każdym pliku, w przeciwieństwie do View -> Indentation
ustawień.
Jeśli chcesz się podobać, możesz także zdefiniować skrót klawiaturowy, aby automatycznie ponownie wciąć kod (YMMV), wklejając Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
i wizualizacji białych znaków:
"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],
W moim odczuciu znalazłem prostsze rozwiązanie niż Magne:
Na komputerze Mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
Na Windows lub innych platformach zmiany cmd+f
i alt+enter
ze Niezależnie find
and select all
skróty klawiszowe są.
Uwaga: ta metoda jest podatna na „błędy”, jeśli masz więcej niż jedną spację w kodzie. Jest więc mniej bezpieczny niż metoda Magne'a, ale jest szybszy (przynajmniej dla mnie).
RubyFormat
, możesz po prostu ustawić żądany rozmiar tabulatora, a następnie ponownie sformatować kod. W takim przypadku RubyFormat
byłoby cmd+shift+R
.
Podczas gdy wiele sugestii działa podczas konwersji 2 -> 4 spacji. Wystąpiły problemy podczas konwersji 4 -> 2.
Oto, co wykorzystałem:
Sublime Text 3/Packages/User/to-2.sublime-macro
[
{ "args": null, "command": "select_all" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 1 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" }
]
Jeśli znajdziesz wyszukiwanie i zamień szybciej w użyciu, możesz użyć wyrażenia regularnego w następujący sposób:
Znajdź (regex): (^|\G) {2}
(Zamiast „{2}” <space>{2}
możesz po prostu napisać dwie spacje. Użyj go tutaj dla zachowania przejrzystości.)
Zamień na 4 spacje lub cokolwiek chcesz \t
.
Musisz dodać ten kod do niestandardowych przypisań klawiszy:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
naciskając kombinację klawiszy Ctrl + F12, plik zostanie przywrócony do rozmiaru tabulatora 4. Jeśli chcesz mieć inny rozmiar tabulatora, po prostu zmień liczbę „wartość”. Format to prosty Json.
{ "keys": ["ctrl+f10"], "command": "set_setting", "args": {"setting": "translate_tabs_to_spaces", "value": 2} }, { "keys": ["ctrl+f11"], "command": "set_setting", "args": {"setting": "tab_size", "value": 2} }, { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },
Najłatwiejszą rzeczą, jaką zrobiłem, było
zmieniłem moje wcięcie na tabulatory
i to rozwiązało mój problem.
Możesz zrobić to samo,
w miejsca
jak również w zależności od potrzeb.
Wspomniał migawkę tego samego.
Ostatnio napotkałem podobny problem. Korzystałem z wysublimowanego edytora. to nie jest problem z kodem, ale z edytorem.
Poniższa zmiana ustawień preferencji zadziałała dla mnie.
Menu Sublime Text -> Preferencje -> Ustawienia: Specyficzne dla składni :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}