Ответы:
Вот хитрый трюк в Sublime Text 2 или 3, чтобы преобразовать интервал отступа в документе.
TL; DR:
Преобразование из 2 пробелов в 4 пробела:
Убедитесь, что ширина вкладки установлена на 2. Преобразуйте отступ с двумя пробелами в вкладки, переключитесь на ширину вкладки 4, а затем преобразуйте отступ в пробелы.
Подробное описание:
Перейти к:
View -> Indentation
Следует читать:
Indent using spaces [x]
Tab width: 2
Выбрать:
Convert Indentation to Tabs
Затем выберите:
Tab width: 4
Convert Indentation to Spaces
Готово.
Я обнаружил, что для моего здравомыслия лучше, чтобы пользовательские настройки определялись так:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
Это detect_indentation: false
особенно важно, так как это заставляет Sublime соблюдать эти настройки в каждом файле, в отличие от View -> Indentation
настроек.
Если вы хотите получить фантазию, вы также можете определить сочетание клавиш для автоматического повторного ввода кода (YMMV), вставив следующее в Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
и визуализировать пустое пространство:
"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],
Я нашел, на мой взгляд, более простое решение, чем Магне:
На Mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
На окнах или других платформах меняйте cmd+f
и alt+enter
какими бы ни были ваши find
и select all
горячие клавиши.
Примечание: этот метод подвержен ошибкам, если в вашем коде более одного пробела. Таким образом, он менее безопасен, чем метод Магне, но быстрее (по крайней мере, для меня).
RubyFormat
вы, вы можете просто установить желаемый размер вкладки и затем переформатировать код. В случае RubyFormat
этого было бы cmd+shift+R
.
Хотя многие предложения работают при конвертации 2 -> 4 пробелов. Я столкнулся с некоторыми проблемами при конвертации 4 -> 2.
Вот что я в итоге использовал:
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" }
]
Если вы находите поиск и замену более быстрыми в использовании, вы можете использовать замену регулярного выражения следующим образом:
Найти (регулярное выражение): (^|\G) {2}
(Вместо "{2}" <space>{2}
вы можете просто написать два пробела. Используйте это здесь для ясности.)
Замените на 4 пробела, или как хотите, как \t
.
Вы должны добавить этот код в свои пользовательские привязки клавиш:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
нажав Ctrl + F12, он вернет ваш файл на размер вкладки 4. Если вы хотите другой размер вкладки, вы просто измените число «значение». Формат простой 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} },
Самым простым, что я сделал, было
изменил мой отступ на вкладки
и это решило мою проблему.
Вы можете сделать то же самое,
в космос
а также в соответствии с вашими потребностями.
Упоминается снимок того же самого.
Недавно я столкнулся с подобной проблемой. Я использовал возвышенный редактор. это не проблема с кодом, но с редактором.
Ниже изменение настроек предпочтений работало для меня.
Меню Sublime Text -> Настройки -> Настройки: Синтаксис :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}