Sublime Text не конвертирует вкладки в пробелы при отступах, почему и как это исправить?

Я довольно эффективно использовал Sublime text. У меня есть одна проблема, которая все еще беспокоит меня.

Пока я набираю код JavaScript, вкладки не преобразуются в пробелы, если вкладка нажата дополнительно к предоставленному уровню отступа.

Следующий снимок экрана может помочь вам понять мою проблему:

введите здесь описание изображения

Как видите, начальный уровень отступа правильно отформатирован как 8 пробелов. Если я нажму tab еще раз, то будет вставлен фактический символ табуляции вместо 4 пробелов, как мне бы хотелось.

Ниже приведен мой пользовательский файл конфигурации Preferences.sublime-settings:

{
"color_scheme": "Packages/User/Cobalt (SL).tmTheme",
"detect_indentation": false,
"expand_tabs_on_save": true,
"font_size": 10,
"ignored_packages":
[
    "Vintage"
],
"tab_size": 4,
"translate_tabs_to_spaces": true,
"trim_automatic_white_space": true,
"use_tab_stops": true,

// Calculates indentation automatically when pressing enter
"auto_indent": true,

// Makes auto indent a little smarter, e.g., by indenting the next line
// after an if statement in C. Requires auto_indent to be enabled.
"smart_indent": true,

// Adds whitespace up to the first open bracket when indenting. Requires
// auto_indent to be enabled.
"indent_to_bracket": false,

// Trims white space added by auto_indent when moving the caret off the
// line.
"trim_automatic_white_space": true,

}

Конфигурация, кажется, установлена ​​​​правильно. Любая идея о том, почему это происходит и как это решить?


person fstab    schedule 22.03.2014    source источник
comment
Хм, в качестве быстрой проверки здравомыслия, не могли бы вы сообщить мне результаты view.settings().get("translate_tabs_to_spaces"). Кроме того, у вас есть лишняя запятая в ваших предпочтениях. ST справляется с этим, но просто подумал, что дам вам знать, если вы его не видели.   -  person skuroda    schedule 23.03.2014
comment
@skuroda, спасибо за предложение. Извините, но я вернусь на работу только в эту пятницу. Тогда я попробую то, что вы предлагаете, и отпишусь.   -  person fstab    schedule 24.03.2014
comment
view.settings().get("translate_tabs_to_spaces") возвращается False   -  person fstab    schedule 28.03.2014
comment
Значит, что-то меняет настройки в этом файле. Это может быть плагин или настройка ST. Прежде чем мы начнем работать с плагинами, попробуйте установить detect_indentation в false в вашем файле пользовательских настроек.   -  person skuroda    schedule 28.03.2014
comment
view.settings().get("detect_indentation") также возвращает False   -  person fstab    schedule 28.03.2014
comment
Хм, это немного разочаровывает (так как я надеялся, что это будет простое решение). В правом нижнем углу написано "Пробелы" или "Вкладки"? Создавали ли вы какие-либо пользовательские настройки для файлов JavaScript? Можете ли вы перечислить плагины, которые вы установили?   -  person skuroda    schedule 28.03.2014


Ответы (1)


Иногда smart_indent может все испортить. Попробуйте добавить следующую строку в «Настройки»> «Настройки-Пользователь».

"smart_indent": false

person Arun Koshy    schedule 13.04.2016