Відповіді:
Ось акуратний трюк в Sublime Text 2 або 3 для перетворення інтервалу відступу в документі.
TL; DR:
Перетворення з 2 простору в 4 пробіли:
Переконайтеся, що для ширини вкладок встановлено значення 2. Перетворіть 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} },
Найпростіше, що я зробив,
змінив мій відступ на вкладки
і це вирішило мою проблему.
Ви можете зробити те ж саме,
до просторів
а також відповідно до ваших потреб.
Згаданий знімок того ж.
Нещодавно я зіткнувся з подібною проблемою. Я використовував піднесений редактор. це не проблема з кодом, а з редактором.
Нижче зміни в налаштуваннях налаштувань працювали для мене.
Меню піднесеного тексту -> Налаштування -> Налаштування: Специфічний для синтаксису :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}