Przykład: Jeśli mam dokument z wcięciem na dwie spacje i chcę, aby zawierał wcięcie na 4 spacje, jak mam go automatycznie przekonwertować za pomocą edytora Sublime Text?
228
Przykład: Jeśli mam dokument z wcięciem na dwie spacje i chcę, aby zawierał wcięcie na 4 spacje, jak mam go automatycznie przekonwertować za pomocą edytora Sublime Text?
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:
Jest
detect_indentation: false
to szczególnie ważne, ponieważ zmusza Sublime do honorowania tych ustawień w każdym pliku, w przeciwieństwie doView -> 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
:i wizualizacji białych znaków:
źródło
W moim odczuciu znalazłem prostsze rozwiązanie niż Magne:
Na komputerze Mac:
Na Windows lub innych platformach zmiany
cmd+f
ialt+enter
ze Niezależniefind
andselect 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).
źródło
RubyFormat
, możesz po prostu ustawić żądany rozmiar tabulatora, a następnie ponownie sformatować kod. W takim przypadkuRubyFormat
byłobycmd+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
źródło
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
.źródło
Napisałem do tego wtyczkę. Możesz go znaleźć tutaj lub poszukać „ReIndent” w kontroli pakietów. Przeważnie robi to samo, co napisał Kyle Finley, ale w wygodny sposób ze skrótami do konwersji między 2 a 4 i odwrotnie.
źródło
Musisz dodać ten kod do niestandardowych przypisań klawiszy:
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.
źródło
{ "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
i to rozwiązało mój problem.
Możesz zrobić to samo,
jak również w zależności od potrzeb.
Wspomniał migawkę tego samego.
źródło
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 :
źródło